diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 02c4447..12a440d 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -4551,11 +4551,10 @@ dispose (GObject *object)
 
 	g_warn_if_fail (priv->slaves == NULL);
 
-	/* Take the device itself down and clear its IPv4 configuration */
+	/* Deconfigure device */
 	if (nm_device_get_managed (self) && take_down) {
 		NMDeviceStateReason ignored = NM_DEVICE_STATE_REASON_NONE;
 
-		nm_device_take_down (self, FALSE, NM_DEVICE_STATE_REASON_REMOVED);
 		nm_device_set_ip4_config (self, NULL, FALSE, &ignored);
 	}
 
@@ -5391,8 +5390,6 @@ nm_device_state_changed (NMDevice *device,
 	switch (state) {
 	case NM_DEVICE_STATE_UNMANAGED:
 		nm_device_set_firmware_missing (device, FALSE);
-		if (old_state > NM_DEVICE_STATE_UNMANAGED)
-			nm_device_take_down (device, TRUE, reason);
 		break;
 	case NM_DEVICE_STATE_UNAVAILABLE:
 		if (old_state == NM_DEVICE_STATE_UNMANAGED || priv->firmware_missing) {
