diff --git a/dune/solvers/solvers/quadraticipopt.hh b/dune/solvers/solvers/quadraticipopt.hh
index 391d0622a23e007a7699327f9a4e9a869e0c753c..6bd1f026dfa50a8f53d3986235678fb74519dfdb 100644
--- a/dune/solvers/solvers/quadraticipopt.hh
+++ b/dune/solvers/solvers/quadraticipopt.hh
@@ -644,7 +644,7 @@ public:
     QuadraticIPOptSolver () : IterativeSolver<VectorType>(1e-8, 100, NumProc::FULL),
                               hessian_(NULL), rhs_(NULL),
                               obstacles_(NULL),
-                              linearSolverType_("ma27"),
+                              linearSolverType_(""),
                               constraintObstacles_(nullptr),constraintMatrix_(nullptr)
     {}
 
@@ -653,7 +653,7 @@ public:
                        VectorType& x,
                        const VectorType& rhs,
                        NumProc::VerbosityMode verbosity=NumProc::FULL,
-                       std::string linearSolverType = "ma27")
+                       std::string linearSolverType = "")
         : IterativeSolver<VectorType>(1e-8, 100, verbosity),
           hessian_(&hessian), rhs_(&rhs), obstacles_(NULL),
           linearSolverType_(linearSolverType),
@@ -724,7 +724,8 @@ void QuadraticIPOptSolver<MatrixType,VectorType,JacobianType>::solve()
   app->Options()->SetNumericValue("tol", this->tolerance_);
   app->Options()->SetIntegerValue("max_iter", this->maxIterations_);
   app->Options()->SetStringValue("mu_strategy", "adaptive");
-  app->Options()->SetStringValue("linear_solver",linearSolverType_);
+  if (linearSolverType_!="")
+    app->Options()->SetStringValue("linear_solver",linearSolverType_);
   app->Options()->SetStringValue("output_file", "ipopt.out");
   app->Options()->SetStringValue("hessian_constant", "yes");