diff --git a/fs/namespace.c b/fs/namespace.c
index 820af6a1dd6b15f9f1b479b17a2c03634c40f16c..cd1e9681a0cf5d0bdfd64d84ae90c34bd10f265b 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1370,6 +1370,8 @@ void umount_tree(struct mount *mnt, int how)
 	}
 	if (last) {
 		last->mnt_hash.next = unmounted.first;
+		if (unmounted.first)
+			unmounted.first->pprev = &last->mnt_hash.next;
 		unmounted.first = tmp_list.first;
 		unmounted.first->pprev = &unmounted.first;
 	}