diff --git a/src/previewrenderer.cpp b/src/previewrenderer.cpp
index cdd7a75e810e3ab675be6e5630f6d32dc447209f..6026b93ee3899ebd792b9e4049475cacf4d5650e 100644
--- a/src/previewrenderer.cpp
+++ b/src/previewrenderer.cpp
@@ -117,13 +117,16 @@ PhotoboothPreviewRender::PhotoboothPreviewRender(QQuickItem* parent)
 {
     connect(this, &PreviewRenderer::lrcInstanceChanged, [this] {
         if (lrcInstance_)
-            connect(lrcInstance_->renderer(), &RenderManager::previewRenderingStopped, [this]() {
-                Q_EMIT hideBooth();
-            });
+            rendererStoppedConnection_ = connect(lrcInstance_->renderer(),
+                                                 &RenderManager::previewRenderingStopped,
+                                                 [this]() { Q_EMIT hideBooth(); });
     });
 }
 
-PhotoboothPreviewRender::~PhotoboothPreviewRender() {}
+PhotoboothPreviewRender::~PhotoboothPreviewRender()
+{
+    disconnect(rendererStoppedConnection_);
+}
 
 QString
 PhotoboothPreviewRender::takePhoto(int size)
@@ -133,6 +136,7 @@ PhotoboothPreviewRender::takePhoto(int size)
             previewImage->copy()
                 .scaled(size, size, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation)));
     }
+    return {};
 }
 
 void
diff --git a/src/previewrenderer.h b/src/previewrenderer.h
index a30904d9c7295f3a09304a5828440b662dd49dc7..3fb6ad56429896c09af1cb7ece2d4227fd4d2725 100644
--- a/src/previewrenderer.h
+++ b/src/previewrenderer.h
@@ -82,4 +82,6 @@ Q_SIGNALS:
 
 private:
     void paint(QPainter* painter) override final;
+
+    QMetaObject::Connection rendererStoppedConnection_;
 };