Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 24462)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 24463)
@@ -3216,4 +3216,9 @@
 void       Element::ResultToVector(Vector<IssmDouble>* vector,int output_enum){/*{{{*/
 
+	int MAXVERTICES = 6;
+	IssmDouble values[MAXVERTICES];
+	int        connectivity[MAXVERTICES];
+	int        sidlist[MAXVERTICES];
+
 	switch(this->inputs2->GetInputObjectEnum(output_enum)){
 		case TriaInput2Enum:
@@ -3237,18 +3242,11 @@
 					const int NUM_VERTICES = this->GetNumberOfVertices();
 
-					IssmDouble *values      = xNew<IssmDouble>(NUM_VERTICES);
-					int        *connectivity= xNew<int>(NUM_VERTICES);
-					int        *sidlist     = xNew<int>(NUM_VERTICES);
-
-					this->GetVerticesSidList(sidlist);
-					this->GetVerticesConnectivityList(connectivity);
-					this->GetInputListOnVertices(values,output_enum);
+
+
+					this->GetVerticesSidList(&sidlist[0]);
+					this->GetVerticesConnectivityList(&connectivity[0]);
+					this->GetInputListOnVertices(&values[0],output_enum);
 					for(int i=0;i<NUM_VERTICES;i++) values[i] = values[i]/reCast<IssmDouble>(connectivity[i]);
-
 					vector->SetValues(NUM_VERTICES,sidlist,values,ADD_VAL);
-
-					xDelete<IssmDouble>(values);
-					xDelete<int>(connectivity);
-					xDelete<int>(sidlist);
 					break;
 					}
