Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 22238)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 22239)
@@ -1592,6 +1592,4 @@
     }
     else if(vector_type==3){ //element vector
-        
-        IssmDouble value;
         
         /*For right now we are static */
@@ -2871,20 +2869,20 @@
 
 	/*Free allocations:{{{*/
-	xDelete<IssmDouble>(dz);
-	xDelete<IssmDouble>(d);
-	xDelete<IssmDouble>(re);
-	xDelete<IssmDouble>(gdn);
-	xDelete<IssmDouble>(gsp);
-	xDelete<IssmDouble>(W);
-	xDelete<IssmDouble>(a);
-	xDelete<IssmDouble>(T);
-	xDelete<IssmDouble>(dzini);
-	xDelete<IssmDouble>(dini);
-	xDelete<IssmDouble>(reini);
-	xDelete<IssmDouble>(gdnini);
-	xDelete<IssmDouble>(gspini);
-	xDelete<IssmDouble>(Wini);
-	xDelete<IssmDouble>(aini);
-	xDelete<IssmDouble>(Tini);
+	if(dz) xDelete<IssmDouble>(dz);
+	if(d) xDelete<IssmDouble>(d);
+	if(re) xDelete<IssmDouble>(re);
+	if(gdn) xDelete<IssmDouble>(gdn);
+	if(gsp) xDelete<IssmDouble>(gsp);
+	if(W) xDelete<IssmDouble>(W);
+	if(a) xDelete<IssmDouble>(a);
+	if(T) xDelete<IssmDouble>(T);
+	if(dzini) xDelete<IssmDouble>(dzini);
+	if(dini) xDelete<IssmDouble>(dini);
+	if(reini) xDelete<IssmDouble>(reini);
+	if(gdnini) xDelete<IssmDouble>(gdnini);
+	if(gspini) xDelete<IssmDouble>(gspini);
+	if(Wini) xDelete<IssmDouble>(Wini);
+	if(aini) xDelete<IssmDouble>(aini);
+	if(Tini) xDelete<IssmDouble>(Tini);
 
 	delete gauss;
