diff --git a/src/main/java/de/landsh/opendata/csw2dcat/MDMetadata2Dataset.java b/src/main/java/de/landsh/opendata/csw2dcat/MDMetadata2Dataset.java
index 9a43c2b2bbec253c1f327c3185741768c88a4ff0..9b9da6177d48c7b478eb42c9fa4c4d7f95f97ed0 100644
--- a/src/main/java/de/landsh/opendata/csw2dcat/MDMetadata2Dataset.java
+++ b/src/main/java/de/landsh/opendata/csw2dcat/MDMetadata2Dataset.java
@@ -351,7 +351,7 @@ public class MDMetadata2Dataset {
         return responsibleParties;
     }
 
-    private static void addNamespaces(Element metadata) {
+    static void addNamespaces(Element metadata) {
         metadata.addNamespace("gco", "http://www.isotc211.org/2005/gco");
         metadata.addNamespace("gmx", "http://www.isotc211.org/2005/gmx");
         metadata.addNamespace("gmd", "http://www.isotc211.org/2005/gmd");
@@ -846,12 +846,17 @@ public class MDMetadata2Dataset {
 
     }
 
-    private boolean isDatasetSeries(Element metadata) {
+    static boolean  isDatasetSeries(Element metadata) {
         final Element scopeCode = (Element) metadata.selectSingleNode("gmd:hierarchyLevel/gmd:MD_ScopeCode");
-        return scopeCode != null && "series".equals(scopeCode.attributeValue("codeListValue"));
+        if (scopeCode != null && "series".equals(scopeCode.attributeValue("codeListValue"))) {
+            return true;
+        }
+
+        final String title = getTextOrNull(metadata.selectSingleNode("gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString"));
+        return StringUtils.endsWith(title, "(Serie)");
     }
 
-    private boolean isDataService(Element metadata) {
+    static boolean isDataService(Element metadata) {
         final Element scopeCode = (Element) metadata.selectSingleNode("gmd:hierarchyLevel/gmd:MD_ScopeCode");
         return scopeCode != null && "service".equals(scopeCode.attributeValue("codeListValue"));
     }
diff --git a/src/test/java/de/landsh/opendata/csw2dcat/MDMetadata2DatasetTests.java b/src/test/java/de/landsh/opendata/csw2dcat/MDMetadata2DatasetTests.java
index e7c2eeb9de85350190d4ce1b9a5c15a50d9a55e8..00416a5492661c65026f1a48e04d551874373794 100644
--- a/src/test/java/de/landsh/opendata/csw2dcat/MDMetadata2DatasetTests.java
+++ b/src/test/java/de/landsh/opendata/csw2dcat/MDMetadata2DatasetTests.java
@@ -1532,4 +1532,36 @@ public class MDMetadata2DatasetTests {
                 distributionPDF.getPropertyResourceValue(DCTerms.format).getURI());
     }
 
+    /**
+     * This is a read dataset series with the correct MD_ScopeCode
+     */
+    @Test
+    public void isDatasetSeries_realSeries() throws DocumentException {
+        final Element input = saxReader.read(getClass().getResourceAsStream("/f7f90143-c2ad-46b2-934d-93dfd5e0f031.xml")).getRootElement();
+        MDMetadata2Dataset.addNamespaces(input);
+        boolean result = MDMetadata2Dataset.isDatasetSeries(input);
+        assertTrue(result);
+    }
+
+    /**
+     * This dataset series has been incorrectly assigned the MD_ScopeCode dataset. But the title contains "(Serie)".
+     */
+    @Test
+    public void isDatasetSeries_title() throws DocumentException {
+        final Element input = saxReader.read(getClass().getResourceAsStream("/7b510ce5-d4d5-48d0-867b-c80778cf453c.xml")).getRootElement();
+        MDMetadata2Dataset.addNamespaces(input);
+        boolean result = MDMetadata2Dataset.isDatasetSeries(input);
+        assertTrue(result);
+    }
+
+    /**
+     * This is a dataset and not a dataset series.
+     */
+    @Test
+    public void isDatasetSeries_dataset() throws DocumentException {
+        final Element input = saxReader.read(getClass().getResourceAsStream("/1c82089a-313e-4c25-9389-0b704c885401.xml")).getRootElement();
+        MDMetadata2Dataset.addNamespaces(input);
+        boolean result = MDMetadata2Dataset.isDatasetSeries(input);
+        assertFalse(result, "This is not a dataset series.");
+    }
 }