diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt
index 6707050bd6ff0474c881321133e908bef158460f..7d600c0f4c86a8a3733178dc822791cadbb48ce3 100644
--- a/Documentation/filesystems/ntfs.txt
+++ b/Documentation/filesystems/ntfs.txt
@@ -278,7 +278,7 @@ ChangeLog
 Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog.
 
 2.1.20:
-	- Fix a stupid bug introduced in 2.1.18 release.
+	- Fix two stupid bugs introduced in 2.1.18 release.
 2.1.19:
 	- Minor bugfix in handling of the default upcase table.
 	- Many internal cleanups and improvements.  Many thanks to Linus
diff --git a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog
index eca9bad72fa4df3c10f7cba8dc04f9f96457cebf..0302c351217f4f5309d072573a959d41b35fdc42 100644
--- a/fs/ntfs/ChangeLog
+++ b/fs/ntfs/ChangeLog
@@ -27,6 +27,10 @@ ToDo/Notes:
 	  where we did not clear ctx->al_entry but it was still set due to
 	  changes in ntfs_attr_lookup() and ntfs_external_attr_find() in
 	  particular.
+	- Fix another stupid bug in fs/ntfs/attrib.c::ntfs_external_attr_find()
+	  where we forgot to unmap the extent mft record when we had finished
+	  enumerating an attribute which caused a bug check to trigger when the
+	  VFS calls ->clear_inode.
 
 2.1.19 - Many cleanups, improvements, and a minor bug fix.
 
diff --git a/fs/ntfs/attrib.c b/fs/ntfs/attrib.c
index 8168429b5cf5c8ead898843b4aa20c038ce6e8cb..fdf20b85ceb473d940a1240e4f3a71ab5d945095 100644
--- a/fs/ntfs/attrib.c
+++ b/fs/ntfs/attrib.c
@@ -1738,11 +1738,13 @@ static int ntfs_external_attr_find(const ATTR_TYPE type,
 	 * correctly yet as we do not know what @ctx->attr will be set to by
 	 * the call to ntfs_attr_find() below.
 	 */
+	if (ni != base_ni)
+		unmap_extent_mft_record(ni);
 	ctx->mrec = ctx->base_mrec;
 	ctx->attr = (ATTR_RECORD*)((u8*)ctx->mrec +
 			le16_to_cpu(ctx->mrec->attrs_offset));
 	ctx->is_first = TRUE;
-	ctx->ntfs_ino = ctx->base_ntfs_ino;
+	ctx->ntfs_ino = base_ni;
 	ctx->base_ntfs_ino = NULL;
 	ctx->base_mrec = NULL;
 	ctx->base_attr = NULL;