Index: src/systems/system_projection.C
===================================================================
--- src/systems/system_projection.C	(revision 4237)
+++ src/systems/system_projection.C	(working copy)
@@ -428,8 +428,8 @@
           // If this element doesn't have an old_dof_object with dofs for the
 	  // current system, then it must be newly added, so the user
 	  // is responsible for setting the new dofs.
-	  if (!elem->old_dof_object || !elem->old_dof_object->has_dofs(system.number()))
-	    continue;
+//	  if (!elem->old_dof_object || !elem->old_dof_object->has_dofs(system.number()))
+//	    continue;
 	  const Elem* parent = elem->parent();
 
           // Per-subdomain variables don't need to be projected on
@@ -783,8 +783,8 @@
       // If this element doesn't have an old_dof_object with dofs for the
       // current system, then it must be newly added, so the user
       // is responsible for setting the new dofs.
-      if (!elem->old_dof_object || !elem->old_dof_object->has_dofs(system.number()))
-        continue;
+//      if (!elem->old_dof_object || !elem->old_dof_object->has_dofs(system.number()))
+//        continue;
       const Elem* parent = elem->parent();
       
       if (elem->refinement_flag() == Elem::JUST_REFINED)
Index: src/solvers/petsc_nonlinear_solver.C
===================================================================
--- src/solvers/petsc_nonlinear_solver.C	(revision 4237)
+++ src/solvers/petsc_nonlinear_solver.C	(working copy)
@@ -343,6 +343,8 @@
   //Based on Petsc 2.3.3 documentation all diverged reasons are negative
   this->converged = reason >= 0;
 
+  this->clear();
+  
   STOP_LOG("solve()", "PetscNonlinearSolver");
 		 
   // return the # of its. and the final residual norm.
