diff -urN v2.4.1-ac11/mm/memory.c ac11/mm/memory.c
--- v2.4.1-ac11/mm/memory.c	Tue Feb 13 15:08:41 2001
+++ ac11/mm/memory.c	Tue Feb 13 15:41:35 2001
@@ -299,8 +299,10 @@
 			freed ++;
 			/* This will eventually call __free_pte on the pte. */
 			tlb_remove_page(tlb, ptep, address + offset);
-		} else
+		} else {
 			swap_free(pte_to_swp_entry(pte));
+			pte_clear(pte);
+		}
 	}
 
 	return freed;