diff --git a/oaipmh-core/pom.xml b/oaipmh-core/pom.xml
index b90a4d056d99aebbb8ca9f64d968edec30829b74..5355a4255499730f18237fbf5351d415f105633a 100644
--- a/oaipmh-core/pom.xml
+++ b/oaipmh-core/pom.xml
@@ -28,6 +28,11 @@
 			<artifactId>httpclients</artifactId>
 			<version>${common.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>info.textgrid.middleware</groupId>
+			<artifactId>ltputils</artifactId>
+			<version>${common.version}</version>
+		</dependency>
 		<dependency>
 			<groupId>info.textgrid.middleware.clients</groupId>
 			<artifactId>textgrid-clients</artifactId>
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDATACITE.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDATACITE.java
index 57b8d513132dc76075a2179986046afc61d19fae..c0065126f955784f5cd14557b25a112ca5bbb1d9 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDATACITE.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDATACITE.java
@@ -11,6 +11,8 @@ import org.apache.commons.logging.LogFactory;
 import org.elasticsearch.common.Strings;
 import org.json.JSONObject;
 import org.springframework.stereotype.Component;
+import info.textgrid.middleware.common.LTPUtils;
+import info.textgrid.middleware.common.RDFConstants;
 import info.textgrid.middleware.common.TextGridMimetypes;
 import info.textgrid.middleware.oaipmh.ContributorType;
 import info.textgrid.middleware.oaipmh.DateType;
@@ -343,7 +345,7 @@ public class RecordDelivererDATACITE extends RecordDelivererAbstract {
 
     else if (this.dariah) {
 
-      System.out.println("  ##  oarFormatFields: " + this.oarFormatFields.length);
+      log.debug("oarFormatFields: " + this.oarFormatFields.length);
 
       for (String format : this.oarFormatFields) {
         // Only the first value is taken here! We do not need to create a list!
@@ -351,7 +353,7 @@ public class RecordDelivererDATACITE extends RecordDelivererAbstract {
         // method!
         String resourceValue = OAIPMHUtilities.fieldLoader(this.jsonObj, format);
 
-        System.out.println("  ##  resourceType: " + format + " --> " + resourceValue);
+        log.debug("resourceType/value: " + format + "/" + resourceValue);
 
         resourceType.setValue(resourceValue);
         // Set collection for DARIAH collection type here, data object for everything else.
@@ -444,11 +446,12 @@ public class RecordDelivererDATACITE extends RecordDelivererAbstract {
           log.debug("i: " + i);
 
           RelatedIdentifier relatedID = new RelatedIdentifier();
-          relatedID.setValue(i);
-          if (i.startsWith("hdl:")) {
+          if (i.startsWith(RDFConstants.HDL_PREFIX)) {
             relatedID.setRelatedIdentifierType(RelatedIdentifierType.HANDLE);
-          } else if (i.startsWith("doi:")) {
+            relatedID.setValue(LTPUtils.omitHdlPrefix(i));
+          } else if (i.startsWith(RDFConstants.DOI_PREFIX)) {
             relatedID.setRelatedIdentifierType(RelatedIdentifierType.DOI);
+            relatedID.setValue(LTPUtils.omitDoiPrefix(i));
           } else if (i.startsWith("http")) {
             relatedID.setRelatedIdentifierType(RelatedIdentifierType.URL);
           }
@@ -457,6 +460,7 @@ public class RecordDelivererDATACITE extends RecordDelivererAbstract {
             // TODO No type OTHER existing! Value is mandatory, so we chose URL, what else can we
             // do?
             relatedID.setRelatedIdentifierType(RelatedIdentifierType.URL);
+            relatedID.setValue(i);
           }
           // Relation type is REFERENCES for the time being (coming from dc:relation at the moment).
           relatedID.setRelationType(RelationType.REFERENCES);
@@ -630,13 +634,15 @@ public class RecordDelivererDATACITE extends RecordDelivererAbstract {
             OAIPMHUtilities.fieldLoader(this.jsonObj, new String[] {alternateIdentifierField});
         for (String i : alternateIdentifierList) {
           AlternateIdentifier alternateID = new AlternateIdentifier();
-          alternateID.setValue(i);
-          if (alternateID.getValue().startsWith("hdl:")) {
+          if (i.startsWith(RDFConstants.HDL_PREFIX)) {
             alternateID.setAlternateIdentifierType("HANDLE");
-          } else if (alternateID.getValue().startsWith("doi:")) {
+            alternateID.setValue(LTPUtils.omitHdlPrefix(i));
+          } else if (i.startsWith(RDFConstants.DOI_PREFIX)) {
             alternateID.setAlternateIdentifierType("DOI");
+            alternateID.setValue(LTPUtils.omitDoiPrefix(i));
           } else {
             alternateID.setAlternateIdentifierType("OTHER");
+            alternateID.setValue(i);
           }
           alternateIdentifiers.getAlternateIdentifier().add(alternateID);
         }
@@ -780,7 +786,7 @@ public class RecordDelivererDATACITE extends RecordDelivererAbstract {
       // Datacite schema validation!
       // TODO Please check some time!
       identifier.setIdentifierType("Handle");
-      identifier.setValue(idValue);
+      identifier.setValue(LTPUtils.omitHdlPrefix(idValue));
     }
 
     // **
@@ -790,7 +796,7 @@ public class RecordDelivererDATACITE extends RecordDelivererAbstract {
     else if (this.dariah) {
       // We set DOI for DH, 'cause we HAVE it! :-D
       identifier.setIdentifierType("DOI");
-      identifier.setValue(idValue);
+      identifier.setValue(LTPUtils.omitDoiPrefix(idValue));
     }
 
     return identifier;