diff -urN oldtree/drivers/char/vt.c newtree/drivers/char/vt.c --- oldtree/drivers/char/vt.c 2006-08-18 15:01:22.000000000 -0400 +++ newtree/drivers/char/vt.c 2006-08-20 04:45:55.901366250 -0400 @@ -738,7 +738,8 @@ visual_init(vc, currcons, 1); if (!*vc->vc_uni_pagedir_loc) con_set_default_unimap(vc); - vc->vc_screenbuf = kmalloc(vc->vc_screenbuf_size, GFP_KERNEL); + if (!vc->vc_kmalloced) + vc->vc_screenbuf = kmalloc(vc->vc_screenbuf_size, GFP_KERNEL); if (!vc->vc_screenbuf) { kfree(vc); vc_cons[currcons].d = NULL;