diff --git a/Tests/MathLib/TestCVode.cpp b/Tests/MathLib/TestCVode.cpp
index 8b2ed6ea589f0e056f42e6f71e71494bda07dd09..71e60951f6cf0878fa4f70145667964ac8709342 100644
--- a/Tests/MathLib/TestCVode.cpp
+++ b/Tests/MathLib/TestCVode.cpp
@@ -128,6 +128,24 @@ TEST(MathLibCVodeTest, ExponentialExtraData)
 		ASSERT_NEAR(time, time_reached, std::numeric_limits<double>::epsilon());
 		// std::printf("time: %g\n", time_reached);
 	}
+
+	ode_solver->setFunction(f_extra, nullptr, data);
+	ode_solver->preSolve();
+	for (unsigned i = 11; i <= 15; ++i)
+	{
+		const double time = dt * i;
+
+		ode_solver->solve(time);
+
+		auto const y = ode_solver->getSolution();
+		double time_reached = ode_solver->getTime();
+
+		std::printf("t: %14.7g, y: %14.7g, diff: %14.7g\n", time_reached, y[0],
+		            y[0] - exp(-15.0 * time_reached));
+
+		ASSERT_NEAR(time, time_reached, std::numeric_limits<double>::epsilon());
+		// std::printf("time: %g\n", time_reached);
+	}
 }
 
 TEST(MathLibCVodeTest, ExponentialWithJacobian)