Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 23206)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 23207)
@@ -3272,20 +3272,12 @@
 		element->NodalFunctionsPressure(pbasis,gauss);
 
-		if(dim==3){
+		if(dim==3 || dim==2){
 			/*Pressure mass matrix*/
 			for(int k=0;k<pnumnodes;k++){
 				for(int j=0;j<pnumnodes;j++){
-					Ke->values[(3*vnumnodes+k)*numdof+3*vnumnodes+j] += gauss->weight*Jdet*(pbasis[j]*pbasis[k]);
+					Ke->values[(dim*vnumnodes+k)*numdof+dim*vnumnodes+j] += gauss->weight*Jdet*(pbasis[j]*pbasis[k]);
 				}
 			}
-		}else if(dim==2){
-			/*Pressure mass matrix*/
-			for(int k=0;k<pnumnodes;k++){
-				for(int j=0;j<pnumnodes;j++){
-					Ke->values[(2*vnumnodes+k)*numdof+2*vnumnodes+j] += gauss->weight*Jdet*(pbasis[j]*pbasis[k]);
-				}
-			}
-		}
-		else{
+		}else{
 			_error_("STOP");
 		}
@@ -3336,20 +3328,12 @@
 
 
-		if(dim==3){
+		if(dim==3 || dim==2){
 			/*Pressure mass matrix*/
 			for(int k=0;k<pnumnodes;k++){
 				for(int j=0;j<pnumnodes;j++){
-					Ke->values[(3*vnumnodes+k)*numdof+3*vnumnodes+j] += gauss->weight*1./viscosity*Jdet*(pbasis[j]*pbasis[k]);
+					Ke->values[(dim*vnumnodes+k)*numdof+dim*vnumnodes+j] += gauss->weight*1./viscosity*Jdet*(pbasis[j]*pbasis[k]);
 				}
 			}
-		}else if(dim==2){
-			/*Pressure mass matrix*/
-			for(int k=0;k<pnumnodes;k++){
-				for(int j=0;j<pnumnodes;j++){
-					Ke->values[(2*vnumnodes+k)*numdof+2*vnumnodes+j] += gauss->weight*1./viscosity*Jdet*(pbasis[j]*pbasis[k]);
-				}
-			}
-		}
-		else{
+		}else{
 			_error_("STOP");
 		}
