diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index 9aa25c034b2ef4b30c769171db9525b7a0e1d5cc..9ffc96b65d9a891b98ffd03c723420a67522f179 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -439,11 +439,10 @@ static struct page *kimage_alloc_crash_control_pages(struct kimage *image,
 		/* If I don't overlap any segments I have found my hole! */
 		if (i == image->nr_segments) {
 			pages = pfn_to_page(hole_start >> PAGE_SHIFT);
+			image->control_page = hole_end;
 			break;
 		}
 	}
-	if (pages)
-		image->control_page = hole_end;
 
 	return pages;
 }