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 2f5ba0faa2bdd1f03652d5844cbecdb91f837a07..af525309e8582bc2d4dc5f58c798b457c04f3be2 100644
--- a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
+++ b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
@@ -820,13 +820,28 @@ public class ColorSchemaReader {
       }
       String[] columns = line.split("\t");
       if (columns.length > 1) {
+        ColorSchemaType type = overlay.getColorSchemaType();
+        if (type == null) {
+          Map<String, String> params = TextFileUtils
+              .getHeaderParametersFromFile(new ByteArrayInputStream(overlay.getInputData().getFileContent()));
+          String typeString = params.get(ZipEntryFileFactory.LAYOUT_HEADER_PARAM_TYPE);
+          if (typeString != null) {
+            type = ColorSchemaType.valueOf(typeString);
+          } else {
+            logger.warn("Undefined color schema type for overlay: " + overlay.getId());
+            type = ColorSchemaType.GENERIC;
+          }
+        }
 
         Map<ColorSchemaColumn, Integer> schemaColumns = new HashMap<>();
-        parseColumns(columns, schemaColumns, ColorSchemaType.GENERIC);
+        parseColumns(columns, schemaColumns, type);
         for (ColorSchemaColumn column : schemaColumns.keySet()) {
           try {
             Field f = ColorSchemaColumn.class.getField(column.name());
-            if (column.getDepractedColumnName() != null || f.isAnnotationPresent(Deprecated.class)) {
+            if (f.isAnnotationPresent(Deprecated.class)) {
+              result.add(column);
+            } else if (column.getDepractedColumnName() != null
+                && column.getDepractedColumnName().equalsIgnoreCase(columns[schemaColumns.get(column)])) {
               result.add(column);
             }
           } catch (NoSuchFieldException | SecurityException e) {
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 f58cdd4923d1c5f3925ef44e0e9d83d14ae58f22..e97c9420f00cd4570dca48c15b4cc2777135d124 100644
--- a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
@@ -15,12 +15,14 @@ import org.junit.*;
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.commands.ColorModelCommand;
 import lcsb.mapviewer.common.TextFileUtils;
+import lcsb.mapviewer.converter.zip.ZipEntryFileFactory;
 import lcsb.mapviewer.model.cache.UploadedFileEntry;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.layout.*;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.services.ServiceTestFunctions;
+import lcsb.mapviewer.services.utils.data.ColorSchemaColumn;
 
 public class ColorSchemaReaderTest extends ServiceTestFunctions {
   Logger logger = LogManager.getLogger(ColorSchemaReaderTest.class);
@@ -334,4 +336,35 @@ public class ColorSchemaReaderTest extends ServiceTestFunctions {
     overlay.setInputData(file);
     assertEquals(0, reader.getDeprecatedColumns(overlay).size());
   }
+
+  @Test
+  public void testGetDeprecatedColumnsForValidGeneticColumns() throws Exception {
+    Layout overlay = new Layout();
+    overlay.setColorSchemaType(ColorSchemaType.GENETIC_VARIANT);
+    UploadedFileEntry file = new UploadedFileEntry();
+    file.setFileContent((ColorSchemaColumn.POSITION.name() + "\tgene_name\n").getBytes("UTF-8"));
+    overlay.setInputData(file);
+    assertEquals(0, reader.getDeprecatedColumns(overlay).size());
+  }
+
+  @Test
+  public void testGetDeprecatedColumnsForDeprecatedGeneticColumns() throws Exception {
+    Layout overlay = new Layout();
+    overlay.setColorSchemaType(ColorSchemaType.GENETIC_VARIANT);
+    UploadedFileEntry file = new UploadedFileEntry();
+    file.setFileContent((ColorSchemaColumn.POSITION.name() + "\tname\n").getBytes("UTF-8"));
+    overlay.setInputData(file);
+    assertEquals(1, reader.getDeprecatedColumns(overlay).size());
+  }
+
+  @Test
+  public void testGetDeprecatedColumnsForOverlayWithHeader() throws Exception {
+    Layout overlay = new Layout();
+    UploadedFileEntry file = new UploadedFileEntry();
+    String content = "#" + ZipEntryFileFactory.LAYOUT_HEADER_PARAM_TYPE + "=" + ColorSchemaType.GENERIC + "\n" +
+        ColorSchemaColumn.VALUE.name() + "\tname\n";
+    file.setFileContent((content).getBytes("UTF-8"));
+    overlay.setInputData(file);
+    assertEquals(0, reader.getDeprecatedColumns(overlay).size());
+  }
 }