diff --git a/src/org/jitsi/impl/neomedia/device/DeviceConfiguration.java b/src/org/jitsi/impl/neomedia/device/DeviceConfiguration.java
index 19078033caad3741c9ed1170462c522c01f79160..14844f552449ca8fb6d6da276ee6103d4c52fe96 100644
--- a/src/org/jitsi/impl/neomedia/device/DeviceConfiguration.java
+++ b/src/org/jitsi/impl/neomedia/device/DeviceConfiguration.java
@@ -1049,10 +1049,16 @@ public void propertyChange(PropertyChangeEvent event)
         else if (DeviceSystem.PROP_DEVICES.equals(propertyName))
         {
             if (event.getSource() instanceof AudioSystem)
+            {
+                // Try to switch to a new active audio system if we are
+                // currently using the "none" system.
+                switchFromNoneToActiveAudioSystem(
+                        (CaptureDeviceInfo) event.getNewValue());
                 firePropertyChange(
                         PROP_AUDIO_SYSTEM_DEVICES,
                         event.getOldValue(),
                         event.getNewValue());
+            }
         }
         else if (PROP_VIDEO_FRAMERATE.equals(propertyName))
         {
@@ -1237,5 +1243,13 @@ && getAudioSystem().getLocatorProtocol().equals(
                 }
             }
         }
+        // The device has been unplugged checks. It may be good to check if the
+        // current active audio system still have actvie devices. If not, then
+        // we will choose another audio system, or the "none" one if no audio
+        // system is available.
+        else
+        {
+            extractConfiguredAudioCaptureDevices();
+        }
     }
 }