diff --git a/fs/jbd/revoke.c b/fs/jbd/revoke.c
index 25c713e..d6457b0 100644
--- a/fs/jbd/revoke.c
+++ b/fs/jbd/revoke.c
@@ -295,6 +295,7 @@ int journal_init_revoke(journal_t *journal, int hash_size)
 
 fail1:
 	journal_destroy_revoke_table(journal->j_revoke_table[0]);
+	journal->j_revoke_table[0] = NULL;
 fail0:
 	return -ENOMEM;
 }
@@ -303,10 +304,14 @@ fail0:
 void journal_destroy_revoke(journal_t *journal)
 {
 	journal->j_revoke = NULL;
-	if (journal->j_revoke_table[0])
+	if (journal->j_revoke_table[0]) {
 		journal_destroy_revoke_table(journal->j_revoke_table[0]);
-	if (journal->j_revoke_table[1])
+		journal->j_revoke_table[0] = NULL;
+	}
+	if (journal->j_revoke_table[1]) {
 		journal_destroy_revoke_table(journal->j_revoke_table[1]);
+		journal->j_revoke_table[1] = NULL;
+	}
 }
 
 
