diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
index fcf5dc7dfd5bbf1b601ca127a0c4e862a0dba1b2..ebdf264ef9d3a90db3b4ebd77a5ec6ebe8cc8774 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
@@ -37,7 +37,7 @@ import info.textgrid.middleware.common.TextGridMimetypes;
 public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
 
   private static final int lifeTimeResToken = 100;
-  private static final String DH_ES_DIVIDER = ".";
+  private static final String DH_ES_DIVIDER_REGEXP = "\\.";
 
   private static org.apache.commons.logging.Log log =
       LogFactory.getLog(IdentifierListDelivererDC.class);
@@ -170,6 +170,7 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
 
       System.out.println("  ##  hit  -->  " + hit.getId());
 
+      // Handle TextGrid.
       if (this.textgrid) {
         // hit.getSourceAsMap().get(this.dateOfObjectCreation).toString();
         String datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString();
@@ -184,28 +185,39 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
         lit = setListIdentifierHeader(datestamp, identifier, lit, set);
       }
 
-      if (this.dariah) {
+      // Handle DARIAH.
+      else if (this.dariah) {
 
         System.out.println("  ##  dateOfObjectCreation  -->  " + this.dateOfObjectCreation);
 
         // Get date field.
-        if (this.dateOfObjectCreation.contains(DH_ES_DIVIDER)) {
+        if (this.dateOfObjectCreation.contains(DH_ES_DIVIDER_REGEXP)) {
           // Divide date object.
-          String dateOfObjectCreationDivider[] = this.dateOfObjectCreation.split(DH_ES_DIVIDER);
+          String dateOfObjectCreationEntries[] =
+              this.dateOfObjectCreation.split(DH_ES_DIVIDER_REGEXP);
+
+          System.out.println("  ##  divider  -->  " + DH_ES_DIVIDER_REGEXP);
+          System.out.println("  ##  length of dOOCD  -->  " + dateOfObjectCreationEntries.length);
+          System.out.println("  ##  dOOCD  -->  " + dateOfObjectCreationEntries);
 
-          System.out.println("  ##  divider  -->  " + DH_ES_DIVIDER);
-          System.out.println("  ##  length of dOOCD  -->  " + dateOfObjectCreationDivider.length);
-          System.out.println("  ##  dOOCD  -->  " + dateOfObjectCreationDivider);
+          if (dateOfObjectCreationEntries.length != 2) {
+            String prefix = dateOfObjectCreationEntries[0];
+            String suffix = dateOfObjectCreationEntries[1];
 
-          String prefix = dateOfObjectCreationDivider[0];
-          String suffix = dateOfObjectCreationDivider[1];
+            if (hit.getSourceAsMap().containsKey(prefix)) {
 
-          if (hit.getSourceAsMap().containsKey(prefix)) {
+              System.out.println("  ##  argl  -->  " + hit.getSourceAsMap().get(prefix));
 
-            System.out.println("  ##  argl  -->  " + hit.getSourceAsMap().get(prefix));
+              System.out.println("  ##  prefix class name  -->  "
+                  + hit.getSourceAsMap().get(prefix).getClass().getName());
 
-            // this.datestamp =
+              // this.datestamp =
+            }
+
+          } else {
+            // FIXME Go to ERROR state!
           }
+
         } else {
           this.datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString();
         }