diff --git a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
index e9f87395567bbe7482cb41c7281d0f3d1169a2c4..b5a4c40b94784c21e61538710dfe2b564c79841f 100644
--- a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
+++ b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
@@ -104,7 +104,14 @@ public class ColorSchemaReader {
         return readGenericColorSchema(colorInputStream);
       }
     } else {
-      ColorSchemaType type = ColorSchemaType.valueOf(params.get(ZipEntryFileFactory.LAYOUT_HEADER_PARAM_TYPE));
+      ColorSchemaType type = null;
+      try {
+        type = ColorSchemaType.valueOf(params.get(ZipEntryFileFactory.LAYOUT_HEADER_PARAM_TYPE));
+      } catch (IllegalArgumentException e) {
+        String options = StringUtils.join(ColorSchemaType.values(), ", ");
+        throw new InvalidColorSchemaException("Invalid overlay type: "
+            + params.get(ZipEntryFileFactory.LAYOUT_HEADER_PARAM_TYPE) + ". Allowed options: " + options);
+      }
       if (type == null) {
         logger.warn("Unknown type of layout file: " + params.get(ZipEntryFileFactory.LAYOUT_HEADER_PARAM_TYPE));
         return readGenericColorSchema(colorInputStream);
diff --git a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
index 7041b25dfcf88cb4a916bb30620b491811b21009..7d23c6b1372ca92139b82b9bf0e428372ea4bc85 100644
--- a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
@@ -480,5 +480,14 @@ public class ColorSchemaReaderTest extends ServiceTestFunctions {
     }
   }
 
+  @Test(expected = InvalidColorSchemaException.class)
+  public void testReadColorSchemaWithInvalidType() throws Exception {
+    FileInputStream fis = new FileInputStream("testFiles/coloring/invalidType.txt");
+    FileInputStream fis2 = new FileInputStream("testFiles/coloring/invalidType.txt");
+    ColorSchemaReader reader = new ColorSchemaReader();
+    reader.readColorSchema(fis, TextFileUtils.getHeaderParametersFromFile(fis2));
+
+  }
+  
 
 }
diff --git a/service/testFiles/coloring/invalidType.txt b/service/testFiles/coloring/invalidType.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c669cb9dadcb5bce4cc3110ce6672c8accdef3bb
--- /dev/null
+++ b/service/testFiles/coloring/invalidType.txt
@@ -0,0 +1,5 @@
+#TYPE=gen
+value	identifier	Chebi
+-0,943978048	HGNC:11138	
+-0,941309505		CHEBI:15377
+1		CHEBI:15376