diff --git a/common/src/main/java/ctbrec/recorder/OnlineMonitor.java b/common/src/main/java/ctbrec/recorder/OnlineMonitor.java
index d2b83c65..5d8393b3 100644
--- a/common/src/main/java/ctbrec/recorder/OnlineMonitor.java
+++ b/common/src/main/java/ctbrec/recorder/OnlineMonitor.java
@@ -77,7 +77,9 @@ public class OnlineMonitor extends Thread {
             boolean skipCheckForSuspended = config.getSettings().onlineCheckSkipsPausedModels && model.isSuspended();
             boolean skipCheckForMarkedAsLater = model.isMarkedForLaterRecording();
             if (skipCheckForSuspended || skipCheckForMarkedAsLater) {
-                continue;
+                // force set offline in case model was suspended while online
+                // TODO: check if this is thread safe
+                setModelStateNotified(model, Model.State.OFFLINE);
             } else {
                 futures.add(updateModel(model));
             }
@@ -97,6 +99,14 @@ public class OnlineMonitor extends Thread {
             }
         }
     }
+    
+    private void setModelStateNotified(Model model, Model.State state) {
+        Model.State oldState = states.getOrDefault(model, UNKNOWN);
+        states.put(model, state);
+        if (state != oldState) {
+            EventBusHolder.BUS.post(new ModelStateChangedEvent(model, oldState, state));
+        }
+    }
 
     private ModelAwareFuture updateModel(Model model) {
         final String siteName = model.getSite().getName();
@@ -121,11 +131,7 @@ public class OnlineMonitor extends Thread {
                     state = model.getOnlineState(false);
                 }
                 LOG.debug("Model online state: {} {}", model.getName(), state);
-                Model.State oldState = states.getOrDefault(model, UNKNOWN);
-                states.put(model, state);
-                if (state != oldState) {
-                    EventBusHolder.BUS.post(new ModelStateChangedEvent(model, oldState, state));
-                }
+                setModelStateNotified(model, state);
             } catch (HttpException e) {
                 LOG.error("Couldn't check if model {} is online. HTTP Response: {} - {}", model.getName(), e.getResponseCode(), e.getResponseMessage());
             } catch (SocketTimeoutException e) {