diff --git a/lib/include/process.pre.pike b/lib/include/process.pre.pike
index 881a83b3c5286163c3c06108398b1d1df9d545a3..1f680593e2eba3bba96a639365da168323a611d0 100644
--- a/lib/include/process.pre.pike
+++ b/lib/include/process.pre.pike
@@ -22,7 +22,12 @@ varargs int spawn(string s,object stdin,object stdout,object stderr)
   int pid;
   string t;
 
-  if(pid=fork())
+  pid=fork();
+  
+  if(pid==-1)
+    error("No more processes.\n");
+
+  if(pid)
   {
     return pid;
   }else{