diff --git a/fs/fat/fat_write.c b/fs/fat/fat_write.c
index b78026a81f97da50f53cf3e2468c2f6d1dfb84dd..b7a21e05bf77754f223e96451260ee95471329a2 100644
--- a/fs/fat/fat_write.c
+++ b/fs/fat/fat_write.c
@@ -552,9 +552,11 @@ set_cluster(fsdata *mydata, __u32 clustnum, __u8 *buffer,
 
 	debug("clustnum: %d, startsect: %d\n", clustnum, startsect);
 
-	if (disk_write(startsect, size / mydata->sect_size, buffer) < 0) {
-		debug("Error writing data\n");
-		return -1;
+	if ((size / mydata->sect_size) > 0) {
+		if (disk_write(startsect, size / mydata->sect_size, buffer) < 0) {
+			debug("Error writing data\n");
+			return -1;
+		}
 	}
 
 	if (size % mydata->sect_size) {