diff --git a/src/distantrenderer.cpp b/src/distantrenderer.cpp
index 7969b36ca85c500eaa4e5fa2d5653e8787276b95..87c1238fc7889c1d077af8ac0322d4d17d828513 100644
--- a/src/distantrenderer.cpp
+++ b/src/distantrenderer.cpp
@@ -30,13 +30,21 @@ DistantRenderer::DistantRenderer(QQuickItem* parent)
     setPerformanceHint(QQuickPaintedItem::FastFBOResizing);
 
     connect(this, &DistantRenderer::lrcInstanceChanged, [this] {
-        if (lrcInstance_)
+        if (lrcInstance_) {
             connect(lrcInstance_->renderer(),
                     &RenderManager::distantFrameUpdated,
                     [this](const QString& id) {
                         if (distantRenderId_ == id)
                             update(QRect(0, 0, width(), height()));
                     });
+
+            connect(lrcInstance_->renderer(),
+                    &RenderManager::distantRenderingStopped,
+                    [this](const QString& id) {
+                        if (distantRenderId_ == id)
+                            update(QRect(0, 0, width(), height()));
+                    });
+        }
     });
 }
 
@@ -46,6 +54,8 @@ void
 DistantRenderer::setRendererId(const QString& id)
 {
     distantRenderId_ = id;
+    // Note: Force a paint to update frame as we change the renderer
+    update(QRect(0, 0, width(), height()));
 }
 
 int
diff --git a/src/rendermanager.cpp b/src/rendermanager.cpp
index 84646d32a446599628c6e4d0fa231f7e2148672a..22bff5db32ba62c055d9ab2d60f2f076ff3027d5 100644
--- a/src/rendermanager.cpp
+++ b/src/rendermanager.cpp
@@ -268,6 +268,11 @@ RenderManager::addDistantRenderer(const QString& id)
                                                              [this](const QString& id) {
                                                                  Q_EMIT distantFrameUpdated(id);
                                                              });
+        distantConnectionMap_[id].stopped = QObject::connect(dfw.get(),
+                                                             &FrameWrapper::renderingStopped,
+                                                             [this](const QString& id) {
+                                                                 Q_EMIT distantRenderingStopped(id);
+                                                             });
 
         /*
          * Connect FrameWrapper to avmodel.
@@ -301,6 +306,7 @@ RenderManager::removeDistantRenderer(const QString& id)
         if (dcIt != distantConnectionMap_.end()) {
             QObject::disconnect(dcIt->second.started);
             QObject::disconnect(dcIt->second.updated);
+            QObject::disconnect(dcIt->second.stopped);
         }
 
         /*