Index: uspace/srv/fs/fat/fat.h
===================================================================
--- uspace/srv/fs/fat/fat.h	(revision 5772aa1259315387724d7fca7781519f8e8c5653)
+++ uspace/srv/fs/fat/fat.h	(revision 1c85bae15aa87bd11bf412120eaf4e1906a9ea73)
@@ -136,5 +136,5 @@
 			/** Signature. */
 			uint16_t	signature;
-		} fat32 __attribute__ ((packed));
+		} __attribute__ ((packed)) fat32;
 	};
 } __attribute__ ((packed)) fat_bs_t;
Index: uspace/srv/fs/fat/fat_ops.c
===================================================================
--- uspace/srv/fs/fat/fat_ops.c	(revision 5772aa1259315387724d7fca7781519f8e8c5653)
+++ uspace/srv/fs/fat/fat_ops.c	(revision 1c85bae15aa87bd11bf412120eaf4e1906a9ea73)
@@ -1053,11 +1053,15 @@
 
 	rc = fat_directory_open(nodep, &di);
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		fat_fs_close(service_id, rfn);
+		return rc;
+	}
 
 	rc = fat_directory_vollabel_get(&di, label);
 	if (rc != EOK) {
-		if (rc != ENOENT)
+		if (rc != ENOENT) {
+			fat_fs_close(service_id, rfn);
 			return rc;
+		}
 
 		label[0] = '\0';
