diff --git a/pitivi/device.py b/pitivi/device.py
index 5deb8f6..630d8c4 100644
--- a/pitivi/device.py
+++ b/pitivi/device.py
@@ -62,7 +62,10 @@ def get_probe():
     If no suitable DeviceProbe implementation is available, returns None.
     """
     if HAVE_DBUS:
-        return HalDeviceProbe()
+        try:
+            return HalDeviceProbe()
+        except dbus.exceptions.DBusException:
+            return None
     return None
 
 class DeviceProbe(Signallable, Loggable):
diff --git a/pitivi/ui/mainwindow.py b/pitivi/ui/mainwindow.py
index 5ac256f..11cf337 100644
--- a/pitivi/ui/mainwindow.py
+++ b/pitivi/ui/mainwindow.py
@@ -202,10 +202,11 @@ class PitiviMainWindow(gtk.Window, Loggable):
         self.app.action_log.connect("cleaned", self._actionLogCleaned)
 
         # if no webcams available, hide the webcam action
-        self.app.deviceprobe.connect("device-added", self._deviceChangeCb)
-        self.app.deviceprobe.connect("device-removed", self._deviceChangeCb)
-        if len(self.app.deviceprobe.getVideoSourceDevices()) < 1:
-            self.webcam_button.set_sensitive(False)
+        if self.app.deviceprobe:
+            self.app.deviceprobe.connect("device-added", self._deviceChangeCb)
+            self.app.deviceprobe.connect("device-removed", self._deviceChangeCb)
+            if len(self.app.deviceprobe.getVideoSourceDevices()) < 1:
+                self.webcam_button.set_sensitive(False)
 
         self.show()
 
