diff --git a/src/main/java/de/landsh/opendata/catalogproxy/CatalogFilter.java b/src/main/java/de/landsh/opendata/catalogproxy/CatalogFilter.java
index 8cc4c02808f0c5c2a6e880e77032c2b31fb0a5c1..14b02f209bd98555d42e0cdb53ca32d54c40146f 100644
--- a/src/main/java/de/landsh/opendata/catalogproxy/CatalogFilter.java
+++ b/src/main/java/de/landsh/opendata/catalogproxy/CatalogFilter.java
@@ -79,6 +79,7 @@ public class CatalogFilter implements InitializingBean {
         addAccessRights(model);
         addRights(model);
         fixMediaType(model);
+        changeStartAndEndDate(model);
 
         return model;
     }
@@ -352,4 +353,34 @@ public class CatalogFilter implements InitializingBean {
         }
     }
 
+    /**
+     * In DCAT-AP.de 2 the startDate changed its namespace from schema.org to DCAT.
+     */
+    void changeStartAndEndDate(Model model) {
+        LinkedList<Statement> oldStatements = new LinkedList<>();
+
+        Selector selectorStart = new SimpleSelector(null, model.createProperty("http://schema.org/startDate"), (Object) null);
+        StmtIterator it = model.listStatements(selectorStart);
+        while (it.hasNext()) {
+            Statement stmt = it.next();
+            oldStatements.add(stmt);
+            model.add(stmt.getSubject(), DCAT.startDate, stmt.getObject());
+        }
+        it.close();
+
+        Selector selectorEnd = new SimpleSelector(null, model.createProperty("http://schema.org/endDate"), (Object) null);
+        it = model.listStatements(selectorEnd);
+        while (it.hasNext()) {
+            Statement stmt = it.next();
+            oldStatements.add(stmt);
+            model.add(stmt.getSubject(), DCAT.endDate, stmt.getObject());
+        }
+        it.close();
+
+        for (Statement stmt : oldStatements) {
+            model.remove(stmt);
+        }
+
+    }
+
 }
diff --git a/src/test/java/de/landsh/opendata/catalogproxy/CatalogFilterTest.java b/src/test/java/de/landsh/opendata/catalogproxy/CatalogFilterTest.java
index b705fb06cb2553032852176a15f89419919c8b48..eb94bbae5ea410c0a534f55d2004a2c84eb2b73b 100644
--- a/src/test/java/de/landsh/opendata/catalogproxy/CatalogFilterTest.java
+++ b/src/test/java/de/landsh/opendata/catalogproxy/CatalogFilterTest.java
@@ -1,9 +1,6 @@
 package de.landsh.opendata.catalogproxy;
 
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdf.model.ResIterator;
-import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.rdf.model.*;
 import org.apache.jena.riot.RDFLanguages;
 import org.apache.jena.riot.RDFParser;
 import org.apache.jena.riot.system.ErrorHandlerFactory;
@@ -263,4 +260,21 @@ public class CatalogFilterTest {
         assertNotNull(mediaType);
         assertEquals("https://www.iana.org/assignments/media-types/text/csv", mediaType.getURI());
     }
+
+
+    /**
+     * In DCAT-AP.de 2 the startDate changed its namespace from schema.org to DCAT.
+     */
+    @Test
+    public void dcatDate() throws IOException {
+        try (final InputStream inputStream = getClass().getResourceAsStream("/catalog.xml")) {
+            final Model model = catalogFilter.work(inputStream);
+
+            Selector selectorSchema = new SimpleSelector(null, model.createProperty("http://schema.org/startDate"), (Object) null);
+            assertFalse(model.listStatements(selectorSchema).hasNext());
+
+            Selector selectorDCAT = new SimpleSelector(null, DCAT.startDate, (Object) null);
+            assertTrue(model.listStatements(selectorDCAT).hasNext());
+        }
+    }
 }