diff --git a/src/media/audio/audio_input.cpp b/src/media/audio/audio_input.cpp
index 9796f57709f3b56231c92e89ae24fa9790bdd30e..d85f35a5ac459157ece9b10cbd5122363c06c463 100644
--- a/src/media/audio/audio_input.cpp
+++ b/src/media/audio/audio_input.cpp
@@ -197,7 +197,8 @@ AudioInput::switchInput(const std::string& resource)
     foundDevOpts_.swap(p);
 
     if (resource.empty()) {
-        devOpts_ = {};
+        if (initDevice(""))
+            foundDevOpts(devOpts_);
         switchPending_ = true;
         futureDevOpts_ = foundDevOpts_.get_future();
         return futureDevOpts_;