diff --git a/lib/modules/Crypto.pmod b/lib/modules/Crypto.pmod
index ffbc7701e4fd9026e695df7a80b59d7dd6c8a710..4fbbb8affc4568c8c9b733547bed431fd61541d0 100644
--- a/lib/modules/Crypto.pmod
+++ b/lib/modules/Crypto.pmod
@@ -7,8 +7,11 @@
 mixed `[](string name)
 {
 //  return (::`[](name) || ((program) ("Crypto/" + name)));
-    return (_Crypto[name]
-	    || ((program) ("Crypto/" + name))
-	    || ((object) ("Crypto/" + name + ".pmod")));
+    catch {
+      return (_Crypto[name]
+	      || ((program) ("Crypto/" + name))
+	      || ((object) ("Crypto/" + name + ".pmod")));
+    };
+    return 0;
 }