diff --git a/Solver/linearSystemPETSc.cpp b/Solver/linearSystemPETSc.cpp
index 9e3ba80d27d61e06bb6afdaf80d28fd80fbc590c..6c3184f962636e7e2831a93cb717edcab06fb206 100644
--- a/Solver/linearSystemPETSc.cpp
+++ b/Solver/linearSystemPETSc.cpp
@@ -159,6 +159,11 @@ int linearSystemPETScBlockDouble::systemSolve()
   KSPSolve(_ksp, _b, _x);
   return 1;
 }
+void linearSystemPETScBlockDouble::insertInSparsityPattern (int i, int j) {
+  i -= _localRowStart;
+  if (i<0 || i>= _localSize) return;
+  _sparsity.insertEntry (i,j);
+}
 
 void linearSystemPETScBlockDouble::preAllocateEntries() 
 {
@@ -220,7 +225,6 @@ linearSystemPETScBlockDouble::linearSystemPETScBlockDouble()
   _entriesPreAllocated = false;
   _isAllocated = false;
   _kspAllocated = false;
-  printf("init\n");
 }
 
 double linearSystemPETScBlockDouble::normInfRightHandSide() const
diff --git a/Solver/linearSystemPETSc.h b/Solver/linearSystemPETSc.h
index c07ace49b00c7d3854fa9951d0588758eaf3b9d8..faba13f749be191fa8ca559726ec0f2d3e841b1c 100644
--- a/Solver/linearSystemPETSc.h
+++ b/Solver/linearSystemPETSc.h
@@ -288,6 +288,7 @@ class linearSystemPETScBlockDouble : public linearSystem<fullMatrix<double> > {
   void zeroMatrix();
   void zeroRightHandSide();
   double normInfRightHandSide() const;
+  void insertInSparsityPattern (int i, int j);
   linearSystemPETScBlockDouble();
 };