Index: kernel/generic/src/console/cmd.c
===================================================================
--- kernel/generic/src/console/cmd.c	(revision da1bafb8cf9a3b3be8ef21bc114daaa476a85190)
+++ kernel/generic/src/console/cmd.c	(revision 1113c9e130ee0cf71775a520394a8c7b73e1cf1e)
@@ -658,8 +658,12 @@
 		printf("Duplicate symbol, be more specific.\n");
 	} else if (rc == EOK) {
+		ipl_t ipl;
+
+		ipl = interrupts_disable();
 		fnc = (unative_t (*)(void)) arch_construct_function(&fptr,
 		    (void *) symaddr, (void *) cmd_call0);
 		printf("Calling %s() (%p)\n", symbol, symaddr);
 		printf("Result: %#" PRIxn "\n", fnc());
+		interrupts_restore(ipl);
 	} else {
 		printf("No symbol information available.\n");
@@ -719,7 +723,11 @@
 		printf("Duplicate symbol, be more specific.\n");
 	} else if (rc == EOK) {
+		ipl_t ipl;
+
+		ipl = interrupts_disable();
 		fnc = (unative_t (*)(unative_t, ...)) arch_construct_function(&fptr, (void *) symaddr, (void *) cmd_call1);
 		printf("Calling f(%#" PRIxn "): %p: %s\n", arg1, symaddr, symbol);
 		printf("Result: %#" PRIxn "\n", fnc(arg1));
+		interrupts_restore(ipl);
 	} else {
 		printf("No symbol information available.\n");
@@ -749,8 +757,12 @@
 		printf("Duplicate symbol, be more specific.\n");
 	} else if (rc == EOK) {
+		ipl_t ipl;
+
+		ipl = interrupts_disable();
 		fnc = (unative_t (*)(unative_t, unative_t, ...)) arch_construct_function(&fptr, (void *) symaddr, (void *) cmd_call2);
 		printf("Calling f(%#" PRIxn ", %#" PRIxn "): %p: %s\n", 
 		       arg1, arg2, symaddr, symbol);
 		printf("Result: %#" PRIxn "\n", fnc(arg1, arg2));
+		interrupts_restore(ipl);
 	} else {
 		printf("No symbol information available.\n");
@@ -780,8 +792,12 @@
 		printf("Duplicate symbol, be more specific.\n");
 	} else if (rc == EOK) {
+		ipl_t ipl;
+
+		ipl = interrupts_disable();
 		fnc = (unative_t (*)(unative_t, unative_t, unative_t, ...)) arch_construct_function(&fptr, (void *) symaddr, (void *) cmd_call3);
 		printf("Calling f(%#" PRIxn ",%#" PRIxn ", %#" PRIxn "): %p: %s\n", 
 		       arg1, arg2, arg3, symaddr, symbol);
 		printf("Result: %#" PRIxn "\n", fnc(arg1, arg2, arg3));
+		interrupts_restore(ipl);
 	} else {
 		printf("No symbol information available.\n");
