diff -Nrudb dbus-1.2.1/dbus/dbus-transport-socket.c dbus-changes/dbus/dbus-transport-socket.c --- dbus-1.2.1/dbus/dbus-transport-socket.c 2008-04-04 17:24:08.000000000 +0200 +++ dbus-changes/dbus/dbus-transport-socket.c 2008-04-17 18:02:17.000000000 +0200 @@ -76,13 +76,15 @@ if (socket_transport->read_watch) { - if (transport->connection) + if (transport->connection) { _dbus_connection_remove_watch_unlocked (transport->connection, socket_transport->read_watch); + } else { _dbus_watch_invalidate (socket_transport->read_watch); _dbus_watch_unref (socket_transport->read_watch); socket_transport->read_watch = NULL; } + } if (socket_transport->write_watch) {