diff --git a/cli_classic.c b/cli_classic.c
index 4c71d07..70bccb5 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -221,8 +221,6 @@
 				free(tempstr);
 				cli_classic_abort_usage();
 			}
-			/* FIXME: A pointer to the image name is saved in a static array (of size MAX_ROMLAYOUT)
-			 * by register_include_arg() and needs to be freed after processing them. */
 			break;
 		case 'L':
 			if (++operation_specified > 1) {
@@ -527,6 +525,7 @@
 	for (i = 0; i < chipcount; i++)
 		free(flashes[i].chip);
 
+	layout_cleanup();
 	free(filename);
 	free(layoutfile);
 	free(pparam);
diff --git a/flash.h b/flash.h
index 63701ed..7b88477 100644
--- a/flash.h
+++ b/flash.h
@@ -320,6 +320,7 @@
 int process_include_args(void);
 int read_romlayout(char *name);
 int handle_romentries(const struct flashctx *flash, uint8_t *oldcontents, uint8_t *newcontents);
+void layout_cleanup(void);
 
 /* spi.c */
 struct spi_command {
diff --git a/layout.c b/layout.c
index 8bb1666..86351b8 100644
--- a/layout.c
+++ b/layout.c
@@ -3,6 +3,7 @@
  *
  * Copyright (C) 2005-2008 coresystems GmbH
  * (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
+ * Copyright (C) 2011-2013 Stefan Tauner
  *
  * 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
@@ -189,6 +190,21 @@
 	return 0;
 }
 
+void layout_cleanup(void)
+{
+	int i;
+	for (i = 0; i < num_include_args; i++) {
+		free(include_args[i]);
+		include_args[i] = NULL;
+	}
+	num_include_args = 0;
+
+	for (i = 0; i < num_rom_entries; i++) {
+		rom_entries[i].included = 0;
+	}
+	num_rom_entries = 0;
+}
+
 romentry_t *get_next_included_romentry(unsigned int start)
 {
 	int i;
