diff --git a/lib/master.pike.in b/lib/master.pike.in
index a8631a15dfc5d78fd1a72c6a54b3fb1374ad0647..a99fcdb92fe8f06d3bf05a3eb6a4e71a12c2dcce 100644
--- a/lib/master.pike.in
+++ b/lib/master.pike.in
@@ -1,4 +1,4 @@
-/* $Id: master.pike.in,v 1.46 1999/04/09 04:46:16 hubbe Exp $
+/* $Id: master.pike.in,v 1.47 1999/04/30 06:53:54 hubbe Exp $
  * 
  * Master-file for Pike.
  *
@@ -461,7 +461,7 @@ class dirnode
       if(mixed tmp=o->_module_value) o=tmp;
       return o;
     }
-    return (program) index;
+    return cast_to_program(index,0);
   }
 
   object|program `[](string index)
@@ -1206,14 +1206,14 @@ class Codec
   object objectof(string x)
     {
       if(sscanf(x,"efun:%s",x)) return f[x];
-      return (object)x;
+      return cast_to_object(x,0);
     }
   
   program programof(string x)
     {
       if(sscanf(x,"efun:%s",x)) return f[x];
 
-      return (program)x;
+      return cast_to_program(x,0);
     }
   
   mixed encode_object(object x)