diff --git a/exfat/mkfs/cbm.c b/exfat/mkfs/cbm.c
index 0110b40..189ae32 100644
--- a/exfat/mkfs/cbm.c
+++ b/exfat/mkfs/cbm.c
@@ -3,7 +3,7 @@
 	Clusters Bitmap creation code.
 
 	Free exFAT implementation.
-	Copyright (C) 2011-2013  Andrew Nayenko
+	Copyright (C) 2011-2014  Andrew Nayenko
 
 	This program is free software; you can redistribute it and/or modify
 	it under the terms of the GNU General Public License as published by
@@ -21,6 +21,7 @@
 */
 
 #include <limits.h>
+#include <string.h>
 #include "cbm.h"
 #include "fat.h"
 #include "uct.h"
@@ -45,22 +46,23 @@
 			DIV_ROUND_UP(uct.get_size(), get_cluster_size()) +
 			DIV_ROUND_UP(rootdir.get_size(), get_cluster_size());
 	size_t bitmap_size = DIV_ROUND_UP(allocated_clusters, CHAR_BIT);
-	uint8_t* bitmap = malloc(bitmap_size);
+	bitmap_t* bitmap = malloc(BMAP_SIZE(bitmap_size));
 	size_t i;
 
 	if (bitmap == NULL)
 	{
-		exfat_error("failed to allocate bitmap of %zu bytes", bitmap_size);
+		exfat_error("failed to allocate bitmap of %zu bytes",
+				BMAP_SIZE(bitmap_size));
 		return 1;
 	}
+	memset(bitmap, 0, BMAP_SIZE(bitmap_size));
 
 	for (i = 0; i < bitmap_size * CHAR_BIT; i++)
 		if (i < allocated_clusters)
 			BMAP_SET(bitmap, i);
-		else
-			BMAP_CLR(bitmap, i);
 	if (exfat_write(dev, bitmap, bitmap_size) < 0)
 	{
+		free(bitmap);
 		exfat_error("failed to write bitmap of %zu bytes", bitmap_size);
 		return 1;
 	}
