Index: kernel/generic/src/console/chardev.c
===================================================================
--- kernel/generic/src/console/chardev.c	(revision 05641a9edbf1f7a46db1517a8e99aa0ffa7bdd5d)
+++ kernel/generic/src/console/chardev.c	(revision e560ae83771ecf9be5a8ba952fb12d932672c732)
@@ -34,5 +34,4 @@
 
 #include <console/chardev.h>
-#include <putchar.h>
 #include <synch/waitq.h>
 #include <synch/spinlock.h>
Index: kernel/generic/src/console/console.c
===================================================================
--- kernel/generic/src/console/console.c	(revision 05641a9edbf1f7a46db1517a8e99aa0ffa7bdd5d)
+++ kernel/generic/src/console/console.c	(revision e560ae83771ecf9be5a8ba952fb12d932672c732)
@@ -47,13 +47,14 @@
 #include <func.h>
 #include <print.h>
+#include <putchar.h>
 #include <atomic.h>
 #include <syscall/copy.h>
 #include <errno.h>
 
-#define KLOG_SIZE PAGE_SIZE
-#define KLOG_LATENCY 8
+#define KLOG_SIZE     PAGE_SIZE
+#define KLOG_LATENCY  8
 
 /** Kernel log cyclic buffer */
-static char klog[KLOG_SIZE] __attribute__ ((aligned (PAGE_SIZE)));
+static wchar_t klog[KLOG_SIZE] __attribute__ ((aligned (PAGE_SIZE)));
 
 /** Kernel log initialized */
@@ -96,9 +97,9 @@
 	
 	klog_parea.pbase = (uintptr_t) faddr;
-	klog_parea.frames = SIZE2FRAMES(KLOG_SIZE);
+	klog_parea.frames = SIZE2FRAMES(sizeof(klog));
 	ddi_parea_register(&klog_parea);
 	
 	sysinfo_set_item_val("klog.faddr", NULL, (unative_t) faddr);
-	sysinfo_set_item_val("klog.pages", NULL, SIZE2FRAMES(KLOG_SIZE));
+	sysinfo_set_item_val("klog.pages", NULL, SIZE2FRAMES(sizeof(klog)));
 	
 	spinlock_lock(&klog_lock);
@@ -246,5 +247,5 @@
 }
 
-void putchar(char c)
+void putchar(const wchar_t ch)
 {
 	spinlock_lock(&klog_lock);
@@ -259,5 +260,5 @@
 	
 	/* Store character in the cyclic kernel log */
-	klog[(klog_start + klog_len) % KLOG_SIZE] = c;
+	klog[(klog_start + klog_len) % KLOG_SIZE] = ch;
 	if (klog_len < KLOG_SIZE)
 		klog_len++;
@@ -266,5 +267,5 @@
 	
 	if ((stdout) && (stdout->op->write))
-		stdout->op->write(stdout, c, silent);
+		stdout->op->write(stdout, ch, silent);
 	else {
 		/* The character is just in the kernel log */
@@ -279,5 +280,5 @@
 	/* Check notify uspace to update */
 	bool update;
-	if ((klog_uspace > KLOG_LATENCY) || (c == '\n'))
+	if ((klog_uspace > KLOG_LATENCY) || (ch == '\n'))
 		update = true;
 	else
@@ -295,9 +296,9 @@
  *
  */
-unative_t sys_klog(int fd, const void * buf, size_t count) 
+unative_t sys_klog(int fd, const void * buf, size_t count)
 {
 	char *data;
 	int rc;
-
+	
 	if (count > PAGE_SIZE)
 		return ELIMIT;
Index: kernel/generic/src/console/kconsole.c
===================================================================
--- kernel/generic/src/console/kconsole.c	(revision 05641a9edbf1f7a46db1517a8e99aa0ffa7bdd5d)
+++ kernel/generic/src/console/kconsole.c	(revision e560ae83771ecf9be5a8ba952fb12d932672c732)
@@ -56,4 +56,5 @@
 #include <symtab.h>
 #include <errno.h>
+#include <putchar.h>
 
 /** Simple kernel console.
@@ -160,7 +161,7 @@
 
 /** Print count times a character */
-static void rdln_print_c(char ch, int count)
-{
-	int i;
+static void rdln_print_c(wchar_t ch, count_t count)
+{
+	count_t i;
 	for (i = 0; i < count; i++)
 		putchar(ch);
