diff --git a/main/loader.c b/main/loader.c
index 525eef4150f51b53396e717213d76d349f0b649e..65c95ecc681b52ab9012111524a98787b05f0c6a 100644
--- a/main/loader.c
+++ b/main/loader.c
@@ -536,8 +536,10 @@ int ast_module_reload(const char *name)
 	}
 	ast_lastreloadtime = time(NULL);
 
-	if (name && res)
+	if (name && res) {
+		ast_mutex_unlock(&reloadlock);
 		return res;
+	}
 
 	AST_LIST_LOCK(&module_list);
 	AST_LIST_TRAVERSE(&module_list, cur, entry) {