diff --git a/src/modules/_Crypto/crypto.c b/src/modules/_Crypto/crypto.c
index c6fc2449e94bda62ab7beee91176868159815ac2..649702fe18b10952dc51df08a2c7a67b57639623 100644
--- a/src/modules/_Crypto/crypto.c
+++ b/src/modules/_Crypto/crypto.c
@@ -1,5 +1,5 @@
 /*
- * $Id: crypto.c,v 1.4 1996/11/07 20:30:19 grubba Exp $
+ * $Id: crypto.c,v 1.5 1996/11/08 18:32:26 grubba Exp $
  *
  * A pike module for getting access to some common cryptos.
  *
@@ -89,7 +89,7 @@ static void check_functions(struct object *o, const char **requiered)
   p = o->prog;
 
   while (*requiered) {
-    if (!find_identifier(*requiered, p)) {
+    if (find_identifier(*requiered, p) < 0) {
       error("/precompiled/crypto: Object is missing identifier \"%s\"\n",
 	    *requiered);
     }
@@ -385,6 +385,8 @@ static void f_ecb_encrypt(INT32 args)
     PIKE_CRYPTO->overflow_len = sp[-1].u.string->len - soffset;
   }
 
+  pop_n_elems(args);
+
   push_string(make_shared_binary_string((char *)result, roffset));
   MEMSET(result, 0, roffset);
 }
@@ -462,6 +464,8 @@ static void f_ecb_decrypt(INT32 args)
     PIKE_CRYPTO->overflow_len = sp[-1].u.string->len - soffset;
   }
 
+  pop_n_elems(args);
+
   push_string(make_shared_binary_string((char *)result, roffset));
   MEMSET(result, 0, roffset);
 }
@@ -519,6 +523,8 @@ static void f_cbc_encrypt(INT32 args)
     PIKE_CRYPTO->overflow_len = sp[-1].u.string->len - soffset;
   }
 
+  pop_n_elems(args);
+
   push_string(make_shared_binary_string((char *)result, roffset));
   MEMSET(result, 0, roffset);
 }
@@ -576,6 +582,8 @@ static void f_cbc_decrypt(INT32 args)
     PIKE_CRYPTO->overflow_len = sp[-1].u.string->len - soffset;
   }
 
+  pop_n_elems(args);
+
   push_string(make_shared_binary_string((char *)result, roffset));
   MEMSET(result, 0, roffset);
 }