about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Src/Modules/zutil.mdd2
-rw-r--r--Src/module.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/Src/Modules/zutil.mdd b/Src/Modules/zutil.mdd
index 30cd1576a..4cd44937d 100644
--- a/Src/Modules/zutil.mdd
+++ b/Src/Modules/zutil.mdd
@@ -1,5 +1,7 @@
 name=zsh/zutil
 
+moddeps="complete"
+
 objects="zutil.o"
 
 autobins="zformat zstyle"
diff --git a/Src/module.c b/Src/module.c
index fc7f7a722..6b34f81b1 100644
--- a/Src/module.c
+++ b/Src/module.c
@@ -296,7 +296,7 @@ load_and_bind(const char *fn)
 	int err = loadbind(0, (void *) addbuiltin, ret);
 	for (node = firstnode(modules); !err && node; incnode(node)) {
 	    Module m = (Module) getdata(node);
-	    if (m->u.handle)
+	    if (m->u.handle && !(m->flags & MOD_LINKED))
 		err |= loadbind(0, m->u.handle, ret);
 	}