diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
index dc7e7ab701c6..fdb6ca9e18d3 100644
--- a/fs/ntfs3/inode.c
+++ b/fs/ntfs3/inode.c
@@ -1779,7 +1779,7 @@ int ntfs_unlink_inode(struct inode *dir, const struct dentry *dentry)
 			mark_inode_dirty(inode);
 	}
 
-out:
+ out:
 	ni_unlock(ni);
 	__putname(de);
 	return err;
@@ -1787,6 +1787,12 @@ int ntfs_unlink_inode(struct inode *dir, const struct dentry *dentry)
 
 void ntfs_evict_inode(struct inode *inode)
 {
+	struct address_space* mapping  = &inode->i_data;
+	struct address_space *buffer_mapping = mapping->private_data;
+
+	if (buffer_mapping == NULL || list_empty(&mapping->private_list)) {
+		return;
+
 	truncate_inode_pages_final(&inode->i_data);
 
 	invalidate_inode_buffers(inode);