diff --git a/src/myconvexproblem.hh b/src/myconvexproblem.hh
index 4767dababb3673a53fd918d5b60d10185c0444dc..ee91633d23f12294378d995ad61a79edc77ed709 100644
--- a/src/myconvexproblem.hh
+++ b/src/myconvexproblem.hh
@@ -11,39 +11,31 @@
     \tparam MatrixTypeTEMPLATE The type used for the matrix of the quadratic
    part
 */
-template <class NonlinearityTypeTEMPLATE, class MatrixTypeTEMPLATE>
+template <class NonlinearityTypeTEMPLATE, class MatrixTypeTEMPLATE,
+          class VectorTypeTEMPLATE>
 class MyConvexProblem {
 public:
   typedef NonlinearityTypeTEMPLATE NonlinearityType;
 
-  typedef typename NonlinearityType::VectorType VectorType;
+  typedef VectorTypeTEMPLATE VectorType;
   typedef MatrixTypeTEMPLATE MatrixType;
-  typedef typename NonlinearityType::LocalVectorType LocalVectorType;
+  typedef typename VectorType::block_type LocalVectorType;
   typedef typename MatrixType::block_type LocalMatrixType;
 
   static const int block_size = NonlinearityType::block_size;
 
   /** \brief Constructor with the problem components
 
-      \param a A scalar factor in front of the quadratic part (the quadratic
-     part includes a factor of 1/2 already)
       \param A The matrix of the quadratic part
-      \param am A scalar factor in front of the optional rank-one matrix
-      \param Am A rank-one matrix given by a single vector.  The matrix is
-     AmAm^T
       \param phi The nonlinearity
       \param f The linear functional
       \param u The solution vector
   */
-  MyConvexProblem(double a, const MatrixType& A, double am,
-                  const VectorType& Am, NonlinearityType& phi,
+  MyConvexProblem(const MatrixType& A, NonlinearityType& phi,
                   const VectorType& f, VectorType& u)
-      : a(a), A(A), am(am), Am(Am), phi(phi), f(f), u(u) {};
+      : A(A), phi(phi), f(f), u(u) {};
 
-  double a;
   const MatrixType& A;
-  double am;
-  const VectorType& Am;
   NonlinearityType& phi;
 
   const VectorType& f;
diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index f1aeda9bd9bca66ae4afa201b9e93b8bb275b976..2d849a5569ac14f2453870de324956b6a6c7e601 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -142,12 +142,10 @@ int main() {
       typedef ZeroNonlinearity<SmallVector, SmallMatrix> NonlinearityType;
       NonlinearityType phi;
 
-      typedef MyConvexProblem<NonlinearityType, OperatorType>
+      typedef MyConvexProblem<NonlinearityType, OperatorType, VectorType>
       MyConvexProblemType;
 
-      VectorType unused_vector(grid.size(grid.maxLevel(), dim), 0);
-      MyConvexProblemType myConvexProblem(1, stiffnessMatrix, 0, unused_vector,
-                                          phi, f, u1);
+      MyConvexProblemType myConvexProblem(stiffnessMatrix, phi, f, u1);
 
       typedef MyBlockProblem<MyConvexProblemType> MyBlockProblemType;
       MyBlockProblemType myBlockProblem(myConvexProblem);