diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index c81a8e759bad445b642feeeaca374383169d2b52..425f42778efa81d0c566056cd6b1c8faf5c1a9d8 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1594,8 +1594,8 @@ static void ext4_orphan_cleanup (struct super_block * sb,
 	while (es->s_last_orphan) {
 		struct inode *inode;
 
-		if (!(inode =
-		      ext4_orphan_get(sb, le32_to_cpu(es->s_last_orphan)))) {
+		inode = ext4_orphan_get(sb, le32_to_cpu(es->s_last_orphan));
+		if (IS_ERR(inode)) {
 			es->s_last_orphan = 0;
 			break;
 		}