diff --git a/src/adapter.c b/src/adapter.c
index fc7c638..2c11efb 100644
--- a/src/adapter.c
+++ b/src/adapter.c
g_dbus_emit_property_changed(conn, adapter->path,
ADAPTER_INTERFACE, "Discovering");
+ if (adapter->dev_class) {
+ /* the kernel should reset the class of device when powering
+ * down, but it does not. So force it here ... */
+ adapter->dev_class = 0;
+ g_dbus_emit_property_changed(conn, adapter->path,
+ ADAPTER_INTERFACE, "Class");
+ }
+
g_dbus_emit_property_changed(conn, adapter->path, ADAPTER_INTERFACE,
"Powered");