Index: /issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp	(revision 15298)
+++ /issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp	(revision 15299)
@@ -433,4 +433,5 @@
 			basis[0]=BasisFunctions[index1];
 			basis[1]=BasisFunctions[index2];
+			xDelete<IssmDouble>(BasisFunctions);
 			return;
 		case P2Enum:
@@ -439,4 +440,5 @@
 			basis[1]=BasisFunctions[index2];
 			basis[2]=BasisFunctions[3+index2-1];
+			xDelete<IssmDouble>(BasisFunctions);
 			return;
 		default:
@@ -472,4 +474,7 @@
 		dbasis[numnodes*1+i]=Jinv[1][0]*dbasis_ref[0*numnodes+i]+Jinv[1][1]*dbasis_ref[1*numnodes+i];
 	}
+
+	/*Clean up*/
+	xDelete<IssmDouble>(dbasis_ref);
 
 }
@@ -545,4 +550,5 @@
 
 	/*Assign values*/
+	xDelete<IssmDouble>(dbasis);
 	*(p+0)=dpx;
 	*(p+1)=dpy;
@@ -567,4 +573,5 @@
 
 	/*Assign output pointer*/
+	xDelete<IssmDouble>(basis);
 	*p = value;
 }
