Index: /issm/trunk-jpl/src/c/Container/Elements.cpp
===================================================================
--- /issm/trunk-jpl/src/c/Container/Elements.cpp	(revision 13378)
+++ /issm/trunk-jpl/src/c/Container/Elements.cpp	(revision 13379)
@@ -213,4 +213,5 @@
 		#endif
 
+
 		/*Get out if there is no results. Otherwise broadcast info*/
 		if(!numberofresults) return;
@@ -249,5 +250,5 @@
 				#ifdef _HAVE_ADOLC_
 				IssmPDouble* vector_serial_passive=xNew<IssmPDouble>(vectorsize);
-				for(i=0;i<vectorsize;i++)vector_serial_passive[i]=reCast<IssmPDouble>(vector_serial[i]);
+				for(int k=0;k<vectorsize;k++)vector_serial_passive[k]=reCast<IssmPDouble>(vector_serial[k]);
 				results->AddObject(new GenericExternalResult<double*>(results->Size()+1,resultsenums[i],vector_serial_passive,vectorsize,1,resultssteps[i],resultstimes[i]));
 				xDelete<IssmPDouble>(vector_serial_passive);
@@ -274,6 +275,6 @@
 			results->AddObject(new GenericExternalResult<int>(results->Size()+1,PatchNodesEnum,   patch->maxnodes,1,0));
 			#ifdef _HAVE_ADOLC_
-			IssmPDouble* values_passive=xNew<IssmPDouble>(patch->numrows);
-			for(i=0;i<patch->numrows;i++)values_passive[i]=reCast<IssmPDouble>(patch->values[i]);
+			IssmPDouble* values_passive=xNew<IssmPDouble>(patch->numrows*patch->numcols);
+			for(int k=0;k<(patch->numrows*patch->numcols);k++)values_passive[k]=reCast<IssmPDouble>(patch->values[k]);
 			results->AddObject(new GenericExternalResult<double*>(results->Size()+1,PatchEnum,  values_passive,patch->numrows,patch->numcols,1,0));
 			xDelete<IssmPDouble>(values_passive);
