Index: uspace/srv/fs/exfat/exfat_ops.c
===================================================================
--- uspace/srv/fs/exfat/exfat_ops.c	(revision c62751ff3deadbe6bd0b11c9e08098340aeb042d)
+++ uspace/srv/fs/exfat/exfat_ops.c	(revision 8d2cd8ba26540466897f4a3bc31c276fd9cd3cd4)
@@ -739,9 +739,14 @@
 	 */
 	rc = exfat_directory_write_file(&di, name);
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		(void) exfat_directory_close(&di);
+		fibril_mutex_unlock(&parentp->idx->lock);
+		return rc;
+	}
 	rc = exfat_directory_close(&di);
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		fibril_mutex_unlock(&parentp->idx->lock);
+		return rc;
+	}
 
 	fibril_mutex_unlock(&parentp->idx->lock);
