Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15473)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 15474)
@@ -6976,5 +6976,5 @@
 				for(p=0;p<6;p++){
 					for(j=0;j<3;j++){
-						dnodalbasis[i][p][j] = dbasis[j][p];
+						dnodalbasis[i][p][j] = dbasis[j][i];
 					}
 				}
@@ -7914,5 +7914,5 @@
 
 	/*Stabilization*/
-	bool       stabilization = false;
+	bool       stabilization = true;
 	IssmDouble dbasis[3][6];
 	IssmDouble dmu[3];
@@ -7974,8 +7974,9 @@
 				for(p=0;p<6;p++){
 					for(j=0;j<3;j++){
-						dnodalbasis[i][p][j] = dbasis[j][p];
+						dnodalbasis[i][p][j] = dbasis[j][i];
 					}
 				}
 			}
+			//dNodalBasisdx(1:n,p,:) = dBasisdx(1:n,:)
 			for(p=0;p<6;p++) for(i=0;i<4;i++) for(j=0;j<4;j++){
 				SW[p][i][j]=0.;
@@ -7988,6 +7989,8 @@
 						SW[p][j][i] += -dmu[j]*dbasis[i][p];
 						for(ii=0;ii<6;ii++){
-							SW[p][i][i] += -mu*dnodalbasis[p][ii][j]*dbasis[j][ii];
-							SW[p][j][i] += -mu*dnodalbasis[p][ii][i]*dbasis[j][ii];
+							//SW[p][i][i] += -mu*dnodalbasis[p][ii][j]*dbasis[j][ii];
+							//SW[p][j][i] += -mu*dnodalbasis[p][ii][i]*dbasis[j][ii];
+							SW[p][i][i] += -mu*dnodalbasis[p][ii][j];
+							SW[p][j][i] += -mu*dnodalbasis[p][ii][i];
 						}
 					}
@@ -7997,7 +8000,7 @@
 			for(p=0;p<6;p++){
 				for(j=0;j<4;j++){
-					pe->values[p*4+j] += gauss->weight*Jdet*tau*forcex*SW[p][j][0];
-					pe->values[p*4+j] += gauss->weight*Jdet*tau*forcey*SW[p][j][1];
-					pe->values[p*4+j] += gauss->weight*Jdet*tau*(forcez-rho_ice*gravity)*SW[p][j][2];
+					pe->values[p*4+j] += gauss->weight*Jdet*tau*rho_ice*forcex*SW[p][j][0];
+					pe->values[p*4+j] += gauss->weight*Jdet*tau*rho_ice*forcey*SW[p][j][1];
+					pe->values[p*4+j] += gauss->weight*Jdet*tau*rho_ice*(forcez-gravity)*SW[p][j][2];
 				}
 			}
