diff --git a/src/org/jitsi/impl/neomedia/device/VideoMediaDeviceSession.java b/src/org/jitsi/impl/neomedia/device/VideoMediaDeviceSession.java
index 46cd21b9e8cc392dd691d675ca928916f7f04a09..9f9ec3b6c27f296429fa749ad851061446a7a096 100644
--- a/src/org/jitsi/impl/neomedia/device/VideoMediaDeviceSession.java
+++ b/src/org/jitsi/impl/neomedia/device/VideoMediaDeviceSession.java
@@ -21,6 +21,7 @@
 import org.jitsi.impl.neomedia.*;
 import org.jitsi.impl.neomedia.codec.video.*;
 import org.jitsi.impl.neomedia.codec.video.h264.*;
+import org.jitsi.impl.neomedia.control.*;
 import org.jitsi.impl.neomedia.format.*;
 import org.jitsi.impl.neomedia.transform.*;
 import org.jitsi.service.libjitsi.*;
@@ -594,12 +595,13 @@ public Component createLocalVisualComponent(boolean flip)
 
         if (captureDevice != null)
         {
-            MediaLocator locator = captureDevice.getLocator();
+            Object imgStreamingControl
+                = captureDevice.getControl(ImgStreamingControl.class.getName());
 
-            if ((locator != null)
-                    && DeviceSystem.LOCATOR_PROTOCOL_IMGSTREAMING.equals(
-                            locator.getProtocol()))
+            if (imgStreamingControl != null)
+            {
                 return createLocalVisualComponentForDesktopStreaming();
+            }
         }
 
         /*