diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index c144509011b851005ccf3fff7f517d3f5464c718..7e057b074bbd683950b235de00b1cc00fb7704d5 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -1354,7 +1354,10 @@ static int w_new_current_uuid(struct drbd_conf *mdev, struct drbd_work *w, int c
 {
 	if (get_ldev(mdev)) {
 		drbd_uuid_new_current(mdev);
-		drbd_send_uuids(mdev);
+		if (get_net_conf(mdev)) {
+			drbd_send_uuids(mdev);
+			put_net_conf(mdev);
+		}
 		drbd_md_sync(mdev);
 		put_ldev(mdev);
 	}