diff --git a/lib/modules/Thread.pmod b/lib/modules/Thread.pmod
index 43249c8a5cad5feaab59bc7c67a90a8ad2e96670..41fa67c247db8295bc03be9593c8f9fd5c7b7006 100644
--- a/lib/modules/Thread.pmod
+++ b/lib/modules/Thread.pmod
@@ -47,7 +47,7 @@ class Fifo {
       ptr=num=0;
       buffer=allocate(sizeof(buffer)); // Throw away any references.
     }
-    w_cond::signal();
+    w_cond::broadcast();
     return ret;
   }
   
diff --git a/src/docode.c b/src/docode.c
index 2414c084c642505216de9f776aea15f932712793..439423e87dc83c5fab690e2e9d7f28af83a78bf3 100644
--- a/src/docode.c
+++ b/src/docode.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: docode.c,v 1.47 1999/04/30 07:24:06 hubbe Exp $");
+RCSID("$Id: docode.c,v 1.48 1999/06/19 19:57:31 hubbe Exp $");
 #include "las.h"
 #include "program.h"
 #include "language.h"
@@ -563,7 +563,7 @@ static int do_docode2(node *n,int flags)
 	a1[0]->type == int_type_string)
       {
 	tmp2=do_docode(CAR(arr),DO_NOT_COPY);
-	do_docode(&a1,DO_NOT_COPY);
+	do_docode(*a1,DO_NOT_COPY);
 	goto foreach_arg_pushed;
       }
     }