Index: /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp
===================================================================
--- /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp	(revision 8648)
+++ /issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp	(revision 8649)
@@ -22,5 +22,4 @@
 	/*output: */
 	double J,Jplus;
-
 	
 	/*Recover parameters*/
@@ -35,19 +34,4 @@
 	}
 
-	/*REST TO BE DELETED*/
-
-	/*Add Regularization terms: */
-	double Jreg=0;
-	double Jreg_sum;
-	for (i=0;i<elements->Size();i++){
-		element=(Element*)elements->GetObjectByOffset(i);
-		Jreg+=element->RegularizeInversion();
-	}
-
-	/*Sum all J from all cpus of the cluster:*/
-	MPI_Reduce (&Jreg,&Jreg_sum,1,MPI_DOUBLE,MPI_SUM,0,MPI_COMM_WORLD );
-	MPI_Bcast(&Jreg_sum,1,MPI_DOUBLE,0,MPI_COMM_WORLD); 
-	J=J+Jreg_sum;
-
 	/*Assign output pointers: */
 	xfree((void**)&responses);
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 8648)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 8649)
@@ -3991,5 +3991,5 @@
 			if (!IsOnBed()) return;
 			tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
-			tira->GradjBGradient(gradient,resp);
+			tria->GradjBGradient(gradient,resp);
 			delete tria->matice; delete tria;
 			break;
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 8648)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 8649)
@@ -2951,5 +2951,4 @@
 
 	/*Retrieve all inputs we will be needing: */
-	if(IsOnShelf())return;
 	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
 	GetDofList1(&doflist1[0]);
@@ -2971,5 +2970,5 @@
 
 		/*Build gradje_g_gaussian vector (actually -dJ/ddrag): */
-		for (i=0;i<NUMVERTICES;i++){ grade_g[i]+=-weight*Jdet*gauss->weight*(dh1dh3[0][i]*dk[0]+dh1dh3[1][i]*dk[1]);
+		for (i=0;i<NUMVERTICES;i++) grade_g[i]+=-weight*Jdet*gauss->weight*(dh1dh3[0][i]*dk[0]+dh1dh3[1][i]*dk[1]);
 	}
 	VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)grade_g,ADD_VALUES);
Index: /issm/trunk/src/c/objects/Elements/Tria.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.h	(revision 8648)
+++ /issm/trunk/src/c/objects/Elements/Tria.h	(revision 8649)
@@ -89,4 +89,5 @@
 		void   GetVectorFromInputs(Vec vector,int NameEnum);
 		void   Gradj(Vec gradient,int control_type);
+		void   GradjBGradient(Vec gradient,int weight_index);
 		void   GradjBMacAyeal(Vec gradient);
 		void   GradjDragMacAyeal(Vec gradient);
