diff --git a/src/libclient/directrenderer.cpp b/src/libclient/directrenderer.cpp
index c6078340ee1a7fb2ddefe1a23fd82a7dfb4ab50e..51209d9b3a90fec19a4d1a847e0cbe5272952e51 100644
--- a/src/libclient/directrenderer.cpp
+++ b/src/libclient/directrenderer.cpp
@@ -39,7 +39,8 @@ public:
         , parent_(parent)
     {
         configureTarget();
-        VideoManager::instance().registerSinkTarget(parent_->id(), target);
+        if (!VideoManager::instance().registerSinkTarget(parent_->id(), target))
+            qWarning() << "Cannot register " << parent_->id();
     };
     ~Impl()
     {
diff --git a/src/libclient/qtwrapper/videomanager_wrap.h b/src/libclient/qtwrapper/videomanager_wrap.h
index 64f1a24bedf8c832a633e7a8e7d6ce9d7d19a169..fc0ce1eccec77cf4e72fdbd3727792e88799565b 100644
--- a/src/libclient/qtwrapper/videomanager_wrap.h
+++ b/src/libclient/qtwrapper/videomanager_wrap.h
@@ -141,13 +141,14 @@ public Q_SLOTS: // METHODS
 
     void stopAudioDevice() { DRing::stopAudioDevice(); }
 
-    void registerSinkTarget(const QString& sinkID, const DRing::SinkTarget& target)
+    bool registerSinkTarget(const QString& sinkID, const DRing::SinkTarget& target)
     {
 #ifdef ENABLE_VIDEO
-        DRing::registerSinkTarget(sinkID.toStdString(), target);
+        return DRing::registerSinkTarget(sinkID.toStdString(), target);
 #else
         Q_UNUSED(sinkID)
         Q_UNUSED(target)
+        return false;
 #endif
     }