diff --git a/util-linux/volume_id/fat.c b/util-linux/volume_id/fat.c
index 6173ba9..b0f427c 100644
--- a/util-linux/volume_id/fat.c
+++ b/util-linux/volume_id/fat.c
@@ -173,18 +173,22 @@
 	 */
 
 	/* boot jump address check */
-	if ((vs->boot_jump[0] != 0xeb || vs->boot_jump[2] != 0x90) &&
-	     vs->boot_jump[0] != 0xe9)
+	if ((vs->boot_jump[0] != 0xeb || vs->boot_jump[2] != 0x90)
+	 && vs->boot_jump[0] != 0xe9
+	) {
 		return -1;
+	}
 
 	/* heads check */
 	if (vs->heads == 0)
 		return -1;
 
 	/* cluster size check */
-	if (vs->sectors_per_cluster == 0 ||
-	    (vs->sectors_per_cluster & (vs->sectors_per_cluster-1)))
+	if (vs->sectors_per_cluster == 0
+	 || (vs->sectors_per_cluster & (vs->sectors_per_cluster-1))
+	) {
 		return -1;
+	}
 
 	/* media check */
 	if (vs->media < 0xf8 && vs->media != 0xf0)
@@ -197,9 +201,11 @@
  valid:
 	/* sector size check */
 	sector_size_bytes = le16_to_cpu(vs->sector_size_bytes);
-	if (sector_size_bytes != 0x200 && sector_size_bytes != 0x400 &&
-	    sector_size_bytes != 0x800 && sector_size_bytes != 0x1000)
+	if (sector_size_bytes != 0x200 && sector_size_bytes != 0x400
+	 && sector_size_bytes != 0x800 && sector_size_bytes != 0x1000
+	) {
 		return -1;
+	}
 
 	dbg("sector_size_bytes 0x%x", sector_size_bytes);
 	dbg("sectors_per_cluster 0x%x", vs->sectors_per_cluster);
