diff --git a/src/main/java/info/textgrid/services/aggregator/tree/FileExtensionMap.java b/src/main/java/info/textgrid/services/aggregator/tree/FileExtensionMap.java
index 6c48449a898411c150ccd318cb22b3c4bdeaebd5..89a852c4350af5e5ee8985b2a7083431a395dae0 100644
--- a/src/main/java/info/textgrid/services/aggregator/tree/FileExtensionMap.java
+++ b/src/main/java/info/textgrid/services/aggregator/tree/FileExtensionMap.java
@@ -27,7 +27,12 @@ public class FileExtensionMap {
 	private static Logger logger = Logger.getLogger(FileExtensionMap.class);
 
 	protected FileExtensionMap() throws IOException {
-		final Pattern mapLine = Pattern.compile("^([^# \t]+)[ \t]*([^#]+)$");
+		
+		// Comments start with # and reach to the end of line.
+		// A matching line contains of a mime type and one or more extensions
+		// comments are stripped
+		// <whitespace>? <mimetype>¹ <whitespace> <extensions>² <whitespace>? <comment>? 
+		final Pattern mapLine = Pattern.compile("^[ \t]*([^# \t]+)[ \t]*([^#]+)[ \t]*(#.*)?$");
 		final Pattern space = Pattern.compile("[ \t]+");
 		final LineNumberReader reader = new LineNumberReader(
 				new InputStreamReader(getClass().getClassLoader()
diff --git a/src/test/java/info/textgrid/services/aggregator/tree/FileExtensionMapTest.java b/src/test/java/info/textgrid/services/aggregator/tree/FileExtensionMapTest.java
index 8e2f0c1054fffc098f62cd1b357e8385bec9013a..dc7d245a442c1ea7f5d07b9e2368271510c98366 100644
--- a/src/test/java/info/textgrid/services/aggregator/tree/FileExtensionMapTest.java
+++ b/src/test/java/info/textgrid/services/aggregator/tree/FileExtensionMapTest.java
@@ -25,6 +25,11 @@ public void testGetExtensions() {
 		Assert.assertEquals("Wrong extensions for XHTML",
 				ImmutableList.of("xhtml", "xht"), xhtml);
 	}
+	
+	@Test
+	public void testTextGridTypes() {
+		Assert.assertEquals("aggregation", ext.getFirstExtension("text/tg.aggregation+xml").orNull());
+	}
 
 	@Test
 	public void testGetFirstExtension() {