 +  unsigned int accumulated_sum=0;
 +  
 +  for (unsigned int vgc=0; vgc<vg; vgc++)
-+    accumulated_sum += this->n_vars(s,vg);
++    accumulated_sum += this->n_vars(s,vgc);
 +  
 +  libmesh_assert_less_equal (accumulated_sum, var);
 +  

   //-------------------------------------------------------------------------
   // First count and assign temporary numbers to local dofs
   MeshBase::element_iterator       elem_it  = mesh.active_local_elements_begin();
@@ -964,45 +954,51 @@
       for (unsigned int n=0; n<n_nodes; n++)
         {
           Node* node = elem->get_node(n);

 	    libmesh_assert_not_equal_to (first_dof, DofObject::invalid_id);
 	  }
       }
@@ -1277,7 +1279,16 @@
                 {
                   const unsigned int di = node->dof_number(sys_num, v, c);
 		  if (di < this->first_dof() || di >= this->end_dof())
-	            _send_list.push_back(di);
+		    {
+		      _send_list.push_back(di);
+		      // libmesh_here();
+		      // std::cout << "sys_num,v,c,di="
+		      // 		<< sys_num << ", "
+		      // 		<< v << ", "
+		      // 		<< c << ", "
+		      // 		<< di << '\n';
+		      // node->debug_buffer();
+		    }
                 }
             }
         }
@@ -1717,6 +1728,8 @@
   STOP_LOG("dof_indices()", "DofMap");
 }
 
