--- /emchome/vijaysm/soft/libmesh-dev-3.0/src/systems/.svn/text-base/system_projection.C.svn-base	2010-04-20 14:37:58.000139000 -0500
+++ /emchome/vijaysm/soft/libmesh-dev-3.0/src/systems/system_projection.C	2010-06-03 00:40:28.000000000 -0500
@@ -1,4 +1,4 @@
-// $Id$
+// $Id: system_projection.C 3799 2010-04-15 23:25:14Z roystgnr $
 
 // The libMesh Finite Element Library.
 // Copyright (C) 2002-2008 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
@@ -898,11 +898,17 @@
       std::vector<unsigned int> dof_indices;
       // Side/edge DOF indices
       std::vector<unsigned int> side_dofs;
+	  
+	  const System::Variable& variable = dof_map.variable(var) ;
+	  const bool is_var_implicitly_active = variable.implicitly_active () ;
    
       // Iterate over all the elements in the range
       for (ConstElemRange::const_iterator elem_it=range.begin(); elem_it != range.end(); ++elem_it)
 	{
 	  const Elem* elem = *elem_it;
+	  
+	  if( !is_var_implicitly_active && !variable.active_on_subdomain(elem->subdomain_id()) )
+		continue ;
 
 	  // Update the DOF indices for this element based on
           // the current mesh
