diff --git a/toonz/sources/toonz/previewer.cpp b/toonz/sources/toonz/previewer.cpp
index 8ec40c6..0902d94 100644
--- a/toonz/sources/toonz/previewer.cpp
+++ b/toonz/sources/toonz/previewer.cpp
@@ -1281,6 +1281,17 @@ bool Previewer::isFrameReady(int frame) const {
 
 //-----------------------------------------------------------------------------
 
+void Previewer::clearAllUnfinishedFrames() {
+  for (int f = 0; f < m_imp->m_pbStatus.size(); f++) {
+    if (m_imp->m_pbStatus[f] == FlipSlider::PBFrameStarted) {
+      m_imp->remove(f);
+    }
+  }
+  m_imp->updateProgressBarStatus();
+}
+
+//-----------------------------------------------------------------------------
+
 bool Previewer::isActive() const { return !m_imp->m_listeners.empty(); }
 
 //-----------------------------------------------------------------------------
diff --git a/toonz/sources/toonz/previewer.h b/toonz/sources/toonz/previewer.h
index 6cb270e..046ec38 100644
--- a/toonz/sources/toonz/previewer.h
+++ b/toonz/sources/toonz/previewer.h
@@ -88,6 +88,8 @@ public:
 
   std::vector<UCHAR> &getProgressBarStatus() const;
 
+  void clearAllUnfinishedFrames();
+
 private:
   friend class Imp;
   void emitStartedFrame(const TRenderPort::RenderData &renderData);
diff --git a/toonz/sources/toonz/sceneviewer.cpp b/toonz/sources/toonz/sceneviewer.cpp
index ca4e52c..d22e441 100644
--- a/toonz/sources/toonz/sceneviewer.cpp
+++ b/toonz/sources/toonz/sceneviewer.cpp
@@ -948,9 +948,12 @@ void SceneViewer::enablePreview(int previewMode) {
     emit freezeStateChanged(false);
   }
 
-  if (m_previewMode != NO_PREVIEW)
+  if (m_previewMode != NO_PREVIEW) {
     Previewer::instance(m_previewMode == SUBCAMERA_PREVIEW)
         ->removeListener(this);
+    Previewer::instance(m_previewMode == SUBCAMERA_PREVIEW)
+        ->clearAllUnfinishedFrames();
+  }
 
   m_previewMode = previewMode;