Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 16972)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 16973)
@@ -3241,7 +3241,7 @@
 	/*Intermediaries*/
 	int   i,j,init;
-	int*   cs_list   = xNew<int>(6*3+1);
-	int*   cs_list2  = xNew<int>(6*2+1);
-	Node  **node_list = xNew<Node*>(6*3+1);
+	int*   cs_list     = xNew<int>(6*3+1);
+	int*   cs_list2    = xNew<int>(6*2+1);
+	Node  **node_list  = xNew<Node*>(6*3+1);
 
 	/*Some parameters needed*/
@@ -3263,6 +3263,6 @@
 
 	/*compute all stiffness matrices for this element*/
-	ElementMatrix* Ke1=element->NewElementMatrix(FSvelocityEnum);
-	ElementMatrix* Ke2=element->NewElementMatrix(HOApproximationEnum);
+	ElementMatrix* Ke1=element->NewElementMatrixCoupling(6,HOApproximationEnum);
+	ElementMatrix* Ke2=element->NewElementMatrix(FSvelocityEnum);
 	ElementMatrix* Ke=new ElementMatrix(Ke1,Ke2);
 	delete Ke1; delete Ke2;
@@ -3278,10 +3278,10 @@
 
 	for(i=0;i<numdofs;i++) for(j=0;j<6;j++){
-		Ke->values[i*numdoftotal+numdofs+2*j+0]+=Ke1->values[i*numdofs+3*j+0];
-		Ke->values[i*numdoftotal+numdofs+2*j+1]+=Ke1->values[i*numdofs+3*j+1];
+		Ke->values[(i+numdofp)*numdoftotal+2*j+0]+=Ke1->values[i*numdofs+3*j+0];
+		Ke->values[(i+numdofp)*numdoftotal+2*j+1]+=Ke1->values[i*numdofs+3*j+1];
 	}
 	for(i=0;i<numdofp;i++) for(j=0;j<6;j++){
-		Ke->values[(i+numdofs)*numdoftotal+3*j+0]+=Ke2->values[i*numdofp+2*j+0];
-		Ke->values[(i+numdofs)*numdoftotal+3*j+1]+=Ke2->values[i*numdofp+2*j+1];
+		Ke->values[i*numdoftotal+numdofp+3*j+0]+=Ke2->values[i*numdofp+2*j+0];
+		Ke->values[i*numdoftotal+numdofp+3*j+1]+=Ke2->values[i*numdofp+2*j+1];
 	}
 
