diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java
index a3edfe0a908c3eca3de1e6037637d2c81cad5856..6ccea32691e05da9ea22a914c75af900e6cb8b29 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java
@@ -15,6 +15,8 @@ import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.index.query.RangeQueryBuilder;
 import org.elasticsearch.search.SearchHit;
 import org.elasticsearch.search.builder.SearchSourceBuilder;
+import org.json.JSONObject;
+
 import info.textgrid.middleware.oaipmh.HeaderType;
 import info.textgrid.middleware.oaipmh.ListRecordsType;
 import info.textgrid.middleware.oaipmh.MetadataType;
@@ -128,11 +130,12 @@ public class RecordListDelivererIDIOM extends RecordListDelivererAbstract {
 
       for (SearchHit hit : scrollResp.getHits().getHits()) {
         i++;
-        String textgridURI =
-            hit.getFields().get("textgridUri").getValue().toString().replace(".0", "");
+        
+        String textgridURI = OAIPMHUtilities.fieldLoader(new JSONObject(hit.getSourceAsMap()), "textgridUri");
+            //hit.getFields().get("textgridUri").getValue().toString().replace(".0", "");
         // System.out.println("Processing: " + textgridURI);
         RecordDelivererIDIOM idiomRecord = new RecordDelivererIDIOM(true, false);
-        recordList.getRecord().add(idiomRecord.getRecordById(textgridURI).getRecord());
+        recordList.getRecord().add(idiomRecord.getRecordById(textgridURI.replace(".0", "")).getRecord());
       }
       // Check the need for a resumption token!
       ResumptionTokenType resTokenForResponse = OAIPMHUtilities.getResumptionToken(