diff -Nru kernel-2.6.35mamba.orig//arch/x86/boot/video.c kernel-2.6.35mamba/arch/x86/boot/video.c
--- kernel-2.6.35mamba.orig//arch/x86/boot/video.c	2011-02-06 20:04:07.000000000 +0100
+++ kernel-2.6.35mamba/arch/x86/boot/video.c	2011-02-26 17:33:57.050038142 +0100
@@ -322,16 +322,14 @@
 	save_screen();
 	probe_cards(0);
 
-	for (;;) {
-		if (mode == ASK_VGA)
-			mode = mode_menu();
-
-		if (!set_mode(mode))
-			break;
+	if (mode == ASK_VGA)
+		mode = mode_menu();
 
+	if (set_mode(mode)) {
 		printf("Undefined video mode number: %x\n", mode);
-		mode = ASK_VGA;
+		mode = VIDEO_CURRENT_MODE;
 	}
+
 	boot_params.hdr.vid_mode = mode;
 	vesa_store_edid();
 	store_mode_params();
