diff --git a/src/api/lrc.h b/src/api/lrc.h
index 108aae756d92f965379d2606bfdfdc3e88c12937..ee73c4b4719e1cc862e16c0d6c7bbc1ff2309ef4 100644
--- a/src/api/lrc.h
+++ b/src/api/lrc.h
@@ -47,7 +47,7 @@ public:
      * @param willMigrateCb
      * @param didMigrateCb
      */
-    Lrc(MigrationCb willMigrateCb = {}, MigrationCb didMigrateCb = {});
+    Lrc(MigrationCb willMigrateCb = {}, MigrationCb didMigrateCb = {}, bool muteDring = false);
     ~Lrc();
     /**
      * get a reference on account model.
diff --git a/src/dbus/instancemanager.cpp b/src/dbus/instancemanager.cpp
index 0e829123884c5546372d24bf52278594c42a17c1..8b34ee1b37d4f7861ab2dab78cacb168d95e8429 100644
--- a/src/dbus/instancemanager.cpp
+++ b/src/dbus/instancemanager.cpp
@@ -29,10 +29,10 @@
 #include "../interfaces/dbuserrorhandleri.h"
 
 InstanceManagerInterface&
-InstanceManager::instance()
+InstanceManager::instance(bool muteDring)
 {
 #ifdef ENABLE_LIBWRAP
-    static auto interface = new InstanceManagerInterface();
+    static auto interface = new InstanceManagerInterface(muteDring);
 #else
     if (!dbus_metaTypeInit)
         registerCommTypes();
diff --git a/src/dbus/instancemanager.h b/src/dbus/instancemanager.h
index e71b7f92c195b76eed7c7409aed360c5e8edf264..1343a51ce47883ba25bfb36a3ce46a24de394600 100644
--- a/src/dbus/instancemanager.h
+++ b/src/dbus/instancemanager.h
@@ -32,6 +32,6 @@
 
 namespace InstanceManager {
 
-LIB_EXPORT InstanceManagerInterface& instance();
+LIB_EXPORT InstanceManagerInterface& instance(bool muteDring = false);
 
 }
diff --git a/src/lrc.cpp b/src/lrc.cpp
index 8ab1047939d5c788deef341b5189f8240ccbbea7..976af6577a8696d8ef87946732e4b96359ed0efe 100644
--- a/src/lrc.cpp
+++ b/src/lrc.cpp
@@ -65,7 +65,7 @@ public:
     std::unique_ptr<PluginModel> PluginModel_;
 };
 
-Lrc::Lrc(MigrationCb willDoMigrationCb, MigrationCb didDoMigrationCb)
+Lrc::Lrc(MigrationCb willDoMigrationCb, MigrationCb didDoMigrationCb, bool muteDring)
 {
     lrc::api::Lrc::holdConferences.store(true);
 #ifndef ENABLE_LIBWRAP
@@ -74,7 +74,7 @@ Lrc::Lrc(MigrationCb willDoMigrationCb, MigrationCb didDoMigrationCb)
 #endif
     // Ensure Daemon is running/loaded (especially on non-DBus platforms)
     // before instantiating LRC and its members
-    InstanceManager::instance();
+    InstanceManager::instance(muteDring);
     lrcPimpl_ = std::make_unique<LrcPimpl>(*this, willDoMigrationCb, didDoMigrationCb);
 }
 
diff --git a/src/qtwrapper/instancemanager.cpp b/src/qtwrapper/instancemanager.cpp
index e60d30b0cdd551ab8ce5e0e2d707ae5941cf8de3..a5aabdb8f5b01a813df0ea73604d474802bd51d5 100644
--- a/src/qtwrapper/instancemanager.cpp
+++ b/src/qtwrapper/instancemanager.cpp
@@ -27,7 +27,7 @@
 
 static int ringFlags = 0;
 
-InstanceManagerInterface::InstanceManagerInterface()
+InstanceManagerInterface::InstanceManagerInterface(bool muteDring)
 {
     using namespace std::placeholders;
 
@@ -43,8 +43,10 @@ InstanceManagerInterface::InstanceManagerInterface()
 #endif
 
 #ifndef MUTE_DRING
-    ringFlags |= DRing::DRING_FLAG_DEBUG;
-    ringFlags |= DRing::DRING_FLAG_CONSOLE_LOG;
+    if (!muteDring) {
+        ringFlags |= DRing::DRING_FLAG_DEBUG;
+        ringFlags |= DRing::DRING_FLAG_CONSOLE_LOG;
+    }
 #endif
 
     DRing::init(static_cast<DRing::InitFlag>(ringFlags));
diff --git a/src/qtwrapper/instancemanager_wrap.h b/src/qtwrapper/instancemanager_wrap.h
index 4f2949e26864877709e1ed5f69863215528dc876..ad37b2f290b8f2529651f045de895cca1a924b53 100644
--- a/src/qtwrapper/instancemanager_wrap.h
+++ b/src/qtwrapper/instancemanager_wrap.h
@@ -38,7 +38,7 @@ class InstanceManagerInterface : public QObject
 {
     Q_OBJECT
 public:
-    InstanceManagerInterface();
+    InstanceManagerInterface(bool muteDring = false);
     ~InstanceManagerInterface();
 
     // TODO: These are not present in dring.h