diff --git a/kernel/sysproc.c b/kernel/sysproc.c
index 1de184e..3b4d5bd 100644
--- a/kernel/sysproc.c
+++ b/kernel/sysproc.c
@@ -55,6 +55,8 @@ sys_sleep(void)
   uint ticks0;
 
   argint(0, &n);
+  if(n < 0)
+    n = 0;
   acquire(&tickslock);
   ticks0 = ticks;
   while(ticks - ticks0 < n){