diff --git a/mm/swapfile.c b/mm/swapfile.c
index 106ff9c1a6b9299bf3c3a0b118b6ca7f9700943a..b6e68dcf7a18888548d94801a7f3e5f0dec725f8 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -874,11 +874,9 @@ static int scan_swap_map_slots(struct swap_info_struct *si,
 		else
 			goto done;
 	}
-	/* non-ssd case */
-	++offset;
 
 	/* non-ssd case, still more slots in cluster? */
-	if (si->cluster_nr && !si->swap_map[offset]) {
+	if (si->cluster_nr && !si->swap_map[++offset]) {
 		--si->cluster_nr;
 		goto checks;
 	}