diff --git a/src/common/dbus_support.py b/src/common/dbus_support.py
index d554f7ab23e2b17193470225a77771f43275df6d..5a8be077b780f58be9e25bbd00530a78ca421f14 100644
--- a/src/common/dbus_support.py
+++ b/src/common/dbus_support.py
@@ -55,7 +55,7 @@ class SystemBus:
 		if self.system_bus is None:
 			try:
 				self.system_bus = dbus.SystemBus()
-			except dbus.dbus_bindings.DBusException:
+			except dbus.DBusException:
 				self.system_bus = None
 				return False
 			if self.system_bus is None:
@@ -86,7 +86,7 @@ class SessionBus:
 		if self.session_bus is None:
 			try:
 				self.session_bus = dbus.SessionBus()
-			except dbus.dbus_bindings.DBusException:
+			except dbus.DBusException:
 				self.session_bus = None
 				return False
 			if self.session_bus is None:
diff --git a/src/common/zeroconf/zeroconf.py b/src/common/zeroconf/zeroconf.py
index 154694fefab072532db823506237ff4dd5f123ca..6a65e622d250ec20439104db1c6255544f9d054f 100755
--- a/src/common/zeroconf/zeroconf.py
+++ b/src/common/zeroconf/zeroconf.py
@@ -248,7 +248,7 @@ class Zeroconf:
 
 			return True
 		
-		except dbus.dbus_bindings.DBusException, e:
+		except dbus.DBusException, e:
 			gajim.log.debug(str(e))
 			return False
 			
@@ -279,7 +279,7 @@ class Zeroconf:
 				return True
 			else:
 				return False
-		except dbus.dbus_bindings.DBusException, e:
+		except dbus.DBusException, e:
 			gajim.log.debug("Can't remove service. That should not happen")
 
 	def browse_domain(self, interface, protocol, domain):
diff --git a/src/music_track_listener.py b/src/music_track_listener.py
index 9cffd7a55e042e0f64769758313375e8821fc081..bebecebffc5cd4dcde16f60ce8031a5f4e51d9de 100644
--- a/src/music_track_listener.py
+++ b/src/music_track_listener.py
@@ -114,9 +114,12 @@ class MusicTrackListener(gobject.GObject):
 
 		bus = dbus.SessionBus()
 
+		if not hasattr(bus, 'name_has_owner'):
+			print 'You need dbus-python >= 0.80' #FIXME: translate me or RM me for .12
+			return None
+
 		## Check Muine playing track
-		if dbus.dbus_bindings.bus_name_has_owner(bus.get_connection(),
-			'org.gnome.Muine'):
+		if bus.name_has_owner('org.gnome.Muine'):
 			obj = bus.get_object('org.gnome.Muine', '/org/gnome/Muine/Player')
 			player = dbus.Interface(obj, 'org.gnome.Muine.Player')
 			if player.GetPlaying():
@@ -126,8 +129,7 @@ class MusicTrackListener(gobject.GObject):
 				return song
 
 		## Check Rhythmbox playing song
-		if dbus.dbus_bindings.bus_name_has_owner(bus.get_connection(),
-			'org.gnome.Rhythmbox'):
+		if bus.name_has_owner('org.gnome.Rhythmbox'):
 			rbshellobj = bus.get_object('org.gnome.Rhythmbox',
 				'/org/gnome/Rhythmbox/Shell')
 			player = dbus.Interface(
diff --git a/src/notify.py b/src/notify.py
index fc1bd08aa92d352a372db7658d22ea592fc42405..38024ba20c1fe1a19dfb7ccb90cd0bbf476c23ec 100644
--- a/src/notify.py
+++ b/src/notify.py
@@ -288,7 +288,7 @@ def popup(event_type, jid, account, msg_type = '', path_to_image = None,
 			DesktopNotification(event_type, jid, account, msg_type,
 				path_to_image, title, text)
 			return	# sucessfully did D-Bus Notification procedure!
-		except dbus.dbus_bindings.DBusException, e:
+		except dbus.DBusException, e:
 			# Connection to D-Bus failed
 			gajim.log.debug(str(e))
 		except TypeError, e:
@@ -438,7 +438,7 @@ class DesktopNotification:
 
 		self.notif = dbus_support.get_notifications_interface()
 		if self.notif is None:
-			raise dbus.dbus_bindings.DBusException()
+			raise dbus.DBusException('unable to get notifications interface')
 		self.ntype = ntype
 
 		self.get_version()