diff --git a/kernel/kvm_main.c b/kernel/kvm_main.c
index 84f95e4..da596fb 100644
--- a/kernel/kvm_main.c
+++ b/kernel/kvm_main.c
@@ -969,16 +969,16 @@ EXPORT_SYMBOL_GPL(gfn_to_page);
 void mark_page_dirty(struct kvm *kvm, gfn_t gfn)
 {
 	int i;
-	struct kvm_memory_slot *memslot = NULL;
+	struct kvm_memory_slot *memslot;
 	unsigned long rel_gfn;
 
 	for (i = 0; i < kvm->nmemslots; ++i) {
 		memslot = &kvm->memslots[i];
 
-		if (gfn >= memslot->base_gfn
+		if (memslot && gfn >= memslot->base_gfn
 		    && gfn < memslot->base_gfn + memslot->npages) {
 
-			if (!memslot || !memslot->dirty_bitmap)
+			if (!memslot->dirty_bitmap)
 				return;
 
 			rel_gfn = gfn - memslot->base_gfn;
