diff --git a/Kernel/Core/metadevs/video/mod.rs b/Kernel/Core/metadevs/video/mod.rs
index 249fecd2f85118e7cdefdf551bfaa6a2f9d81eff..14d17120ae658958cf91ca8915a4e6e2ea880599 100644
--- a/Kernel/Core/metadevs/video/mod.rs
+++ b/Kernel/Core/metadevs/video/mod.rs
@@ -127,8 +127,8 @@ pub fn set_panic(file: &str, line: usize, message: &::core::fmt::Arguments)
 			}
 		}
 		// 3. Render message to top-left
-		let _ = write!(&mut PanicWriter::new(&mut *surf.fb, 0, 0), "Panic at {}:{}", file, line);
-		let _ = write!(&mut PanicWriter::new(&mut *surf.fb, 0, 16), "- {}", message);
+		let _ = write!(&mut PanicWriter::new(&mut *surf.fb, 0, 0 , dims.w as u16), "Panic at {}:{}", file, line);
+		let _ = write!(&mut PanicWriter::new(&mut *surf.fb, 0, 16, dims.w as u16), "- {}", message);
 	}
 
 	return ;
@@ -151,12 +151,12 @@ pub fn set_panic(file: &str, line: usize, message: &::core::fmt::Arguments)
 		}
 	}
 	impl<'a> PanicWriter<'a> {
-		fn new<'b>(fb: &'b mut Framebuffer, x: u16, y: u16) -> PanicWriter<'b> {
+		fn new<'b>(fb: &'b mut Framebuffer, x: u16, y: u16, w: u16) -> PanicWriter<'b> {
 			PanicWriter {
 				font: kernel_font::KernelFont::new(PANIC_COLOUR),
 				out: PanicWriterOut {
 					fb: fb,
-					x: x, y: y,
+					x: x, y: y, w: w,
 					},
 				}
 		}
@@ -168,13 +168,17 @@ pub fn set_panic(file: &str, line: usize, message: &::core::fmt::Arguments)
 	}
 	struct PanicWriterOut<'a> {
 		fb: &'a mut Framebuffer,
-		x: u16, y: u16,
+		x: u16, y: u16, w: u16,
 	}
 	impl<'a> PanicWriterOut<'a>
 	{
 		fn putc(&mut self, data: &[u32; 8*16]) {
 			self.fb.blit_buf(Rect::new(self.x as u32, self.y as u32,  8, 16), data);
 			self.x += 8;
+			if self.x == self.w {
+				self.y += 16;
+				self.x = 0;
+			}
 		}
 	}
 }