diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C
index dd0c02ddbc90fa3523d83e916aa8dfb783ffb148..8e18dc786115461aa752148dfd340ca64ed90ddc 100644
--- a/src/OpenFOAM/db/Time/Time.C
+++ b/src/OpenFOAM/db/Time/Time.C
@@ -519,6 +519,10 @@ bool Foam::Time::loop()
     if (running)
     {
         operator++();
+
+        // Check update the "running" status following the "++" operation
+        // to take into account possible side-effects from functionObjects
+        running = run();
     }
 
     return running;