diff --git a/fs/pnode.c b/fs/pnode.c
index 1106137c747a3aab8f8340751eb713d6d936797f..468e4e65a615d770919e0d952e17d0f4f1a7c02f 100644
--- a/fs/pnode.c
+++ b/fs/pnode.c
@@ -244,7 +244,7 @@ static int propagate_one(struct mount *m)
 		}
 		do {
 			struct mount *parent = last_source->mnt_parent;
-			if (last_source == first_source)
+			if (peers(last_source, first_source))
 				break;
 			done = parent->mnt_master == p;
 			if (done && peers(n, parent))