diff --git a/src/myblockproblem.hh b/src/myblockproblem.hh
index 601652f8531d883c6d914d75f446d91c8b37bc77..a294346c377ef02cec014052f7f259d5e9b3e630 100644
--- a/src/myblockproblem.hh
+++ b/src/myblockproblem.hh
@@ -100,7 +100,7 @@ class MyBlockProblem<ConvexProblemTypeTEMPLATE>::IterateObject {
       int const m = i;
 
       LocalMatrixType const* localA = NULL;
-      LocalVectorType localb(0);
+      LocalVectorType localb(problem.f[m]);
 
       typename MatrixType::row_type::ConstIterator it;
       typename MatrixType::row_type::ConstIterator end = problem.A[i].end();
@@ -111,7 +111,6 @@ class MyBlockProblem<ConvexProblemTypeTEMPLATE>::IterateObject {
 
         it->mmv(u[j], localb); // localb += A[m][j] * u[j]
       }
-      localb += problem.f[m]; // localb -= b[m]
       assert(localA != NULL);
 
       // FIXME: Hardcoding a fixed function here for now