diff --git a/flashrom.c b/flashrom.c
index 4258018..2b5c571 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -401,7 +401,7 @@
 	return ret;
 }
 
-static size_t gran_to_bytes(const enum write_granularity gran)
+size_t gran_to_bytes(const enum write_granularity gran)
 {
 	switch (gran) {
 		case write_gran_1bit:			return 1;
@@ -1488,7 +1488,7 @@
 		return 1;
 	}
 
-	if (layout_sanity_checks(flash)) {
+	if (layout_sanity_checks(flash, write_it)) {
 		msg_cerr("Requested regions can not be handled. Aborting.\n");
 		return 1;
 	}
diff --git a/include/flash.h b/include/flash.h
index 38e583a..db19566 100644
--- a/include/flash.h
+++ b/include/flash.h
@@ -93,6 +93,8 @@
 	write_gran_1byte_implicit_erase, /* EEPROMs and other chips with implicit erase and 1-byte writes. */
 };
 
+size_t gran_to_bytes(enum write_granularity);
+
 /*
  * How many different contiguous runs of erase blocks with one size each do
  * we have for a given erase function?
diff --git a/include/layout.h b/include/layout.h
index d2e3d74..91a6d6e 100644
--- a/include/layout.h
+++ b/include/layout.h
@@ -61,6 +61,6 @@
 const struct romentry *layout_next_included_region(const struct flashrom_layout *, chipoff_t);
 const struct romentry *layout_next_included(const struct flashrom_layout *, const struct romentry *);
 const struct romentry *layout_next(const struct flashrom_layout *, const struct romentry *);
-int layout_sanity_checks(const struct flashrom_flashctx *);
+int layout_sanity_checks(const struct flashrom_flashctx *, bool write_it);
 
 #endif /* !__LAYOUT_H__ */
diff --git a/layout.c b/layout.c
index d645078..4a5c276 100644
--- a/layout.c
+++ b/layout.c
@@ -197,10 +197,11 @@
 	}
 }
 
-int layout_sanity_checks(const struct flashrom_flashctx *const flash)
+int layout_sanity_checks(const struct flashrom_flashctx *const flash, const bool write_it)
 {
 	const struct flashrom_layout *const layout = get_layout(flash);
 	const chipsize_t total_size = flash->chip->total_size * 1024;
+	const size_t gran = gran_to_bytes(flash->chip->gran);
 	int ret = 0;
 
 	const struct romentry *entry = NULL;
@@ -216,6 +217,11 @@
 				  entry->name);
 			ret = 1;
 		}
+		if (write_it && entry->included && (entry->start % gran || (entry->end + 1) % gran)) {
+			msg_gerr("Error: Region \"%s\" is not aligned with write granularity (%zuB).\n",
+				 entry->name, gran);
+			ret = 1;
+		}
 	}
 
 	return ret;
