Index: /issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp	(revision 25340)
+++ /issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp	(revision 25341)
@@ -90,8 +90,5 @@
 		_printf0_("StartTrace::Tape Statistics	   : TapeAlloc count=[" << codi_allocn << "]\n" << out_s.str());
 		*/
-		tape_codi.reset();
 		//alloc_profiler.Tag(FinishInit, true);
-		#else
-		tape_codi.reset();
 		#endif
 
@@ -401,4 +398,7 @@
 		xDelete(weightVectorTimesJac);
 	}
+
+	/*Clear tape*/
+	tape_codi.reset();
 	/*}}}*/
 	#else
Index: /issm/trunk-jpl/src/c/cores/controlvalidation_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/controlvalidation_core.cpp	(revision 25340)
+++ /issm/trunk-jpl/src/c/cores/controlvalidation_core.cpp	(revision 25341)
@@ -66,8 +66,4 @@
 		_printf0_("StartTrace::Tape Statistics	   : TapeAlloc count=[" << codi_allocn << "]\n" << out_s.str());
 		*/
-		tape_codi.reset();
-		//alloc_profiler.Tag(FinishInit, true);
-		#else
-		tape_codi.reset();
 		#endif
 
@@ -252,4 +248,8 @@
 		G[i] = tape_codi.getGradient(codi_global.input_indices[i]);
 	}
+
+	/*Clear tape*/
+	tape_codi.reset();
+
 	#else
 	/*{{{*/
