Fixed multithreading problem
diff --git a/catalog.c b/catalog.c
index 29f98d2..06bffc6 100644
--- a/catalog.c
+++ b/catalog.c
@@ -2909,8 +2909,10 @@
 
     if (xmlDefaultCatalog == NULL) {
 	catal = xmlLoadACatalog(filename);
-	if (catal == NULL)
+	if (catal == NULL) {
+	    xmlRMutexUnlock(xmlCatalogMutex);
 	    return(-1);
+	}
 
 	xmlDefaultCatalog = catal;
 	xmlRMutexUnlock(xmlCatalogMutex);