diff --git a/dune/solvers/solvers/quadraticipopt.hh b/dune/solvers/solvers/quadraticipopt.hh
index 1e516f02e4e81db7836f185042e2384866a69bb8..5b2171bbb10440066d72e46061c46b5cc1083e38 100644
--- a/dune/solvers/solvers/quadraticipopt.hh
+++ b/dune/solvers/solvers/quadraticipopt.hh
@@ -815,11 +815,17 @@ void QuadraticIPOptSolver<MatrixType,VectorType,JacobianType>::solve()
   else if (status == Ipopt::Search_Direction_Becomes_Too_Small) {
       Ipopt::Number dual_inf;        // dual infeasibility (Gradient of Lagrangian not zero)
       Ipopt::Number constr_viol;     // violation of constraints
+#if IPOPT_VERSION_MAJOR>=3 && IPOPT_VERSION_MINOR>=14
+      Ipopt::Number varbounds_viol;  // violation of variable bounds
+#endif
       Ipopt::Number complementarity; // violation of complementarity
       Ipopt::Number kkt_error;       // KKT error
 
       app->Statistics()->Infeasibilities(dual_inf,
                                          constr_viol,
+#if IPOPT_VERSION_MAJOR>=3 && IPOPT_VERSION_MINOR>=14
+                                         varbounds_viol,
+#endif
                                          complementarity,
                                          kkt_error);