diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
index 01a29c57512cebf3a68b7866576b1af58695a1a0..75da7e9f7448a43e28387f2cf77be18bc338ad68 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
@@ -473,13 +473,14 @@ public class OAIPMHImpl implements OAIPMHProducer {
             && RecordListDelivererDC.cursorCollector.containsKey(request.getResumptionToken());
         boolean restokIDIOMExisting = RecordListDelivererIDIOM.cursorCollector != null
             && RecordListDelivererIDIOM.cursorCollector.containsKey(request.getResumptionToken());
-        boolean restokOpenAireExisting = OpenAireRecordList.cursorCollector != null
-                && OpenAireRecordList.cursorCollector.containsKey(request.getResumptionToken());
+        boolean restokOpenAireExisting = RecordListDelivererAbstract.cursorCollector != null
+                && RecordListDelivererAbstract.cursorCollector.containsKey(request.getResumptionToken());
         if (restokDCExisting) {
           recListDeliv = this.recordListDC;
         } else if (restokIDIOMExisting) {
           recListDeliv = this.recordListIDIOM;
         } else if (restokOpenAireExisting) {
+          System.out.println("RESTOK FOR OPENAIRE EXISTS");
           recListDeliv = this.openAireRecordList;
         }        
       }      
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecordList.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecordList.java
index cee18d744e71713bf93ef698c5ed8af759e29955..a3c3da1969ddc8805ed66f739f25a2d1d17fac00 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecordList.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecordList.java
@@ -14,7 +14,7 @@ import info.textgrid.middleware.oaipmh.ResumptionTokenType;
 
 public class OpenAireRecordList extends RecordListDelivererAbstract {
 	
-	protected static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>();
+	//protected static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>();
 	
 	
 	private String rangeField;
@@ -60,8 +60,7 @@ public class OpenAireRecordList extends RecordListDelivererAbstract {
 		System.out.println(getResTokenForResponse().getValue());
 		//System.out.println(getResumptionToken());
 		//resTokenForResponse = OAIPMHUtilities.getResumptionToken(
-	    //          94146, resumptionToken, cursorCollector, scrollID, this.searchResponseSize, i)
-		
+	    //          94146, resumptionToken, cursorCollector, scrollID, this.searchResponseSize, i)		
         	openAireRecordList.setResumptionToken(getResTokenForResponse());
         //}
 		
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java
index 75df51dc705eb1cadf0c1312edcdce19bf9ff109..256842bf7793f5a59e018d1c9bbc165d7b6e1d19 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java
@@ -134,6 +134,8 @@ public abstract class RecordListDelivererAbstract implements RecordListDeliverer
 		 
 	     resTokenForResponse = OAIPMHUtilities.getResumptionToken(
 	              completeListSize, resumptionToken, cursorCollector, scrollID, this.searchResponseSize, i);
+	     System.out.println("TADA: ");
+	     System.out.println(cursorCollector);
 
 	  }else {
 		  setFoundItems(false);
@@ -166,13 +168,17 @@ public abstract class RecordListDelivererAbstract implements RecordListDeliverer
 
     // Check if resumptionToken is invalid or existing.
     if (request.getResumptionToken() != null) {
+    	System.out.println("ERROR_CHECK");
+    	System.out.println(request.getResumptionToken());
         boolean restokIDIOMExisting = RecordListDelivererIDIOM.cursorCollector != null
             && RecordListDelivererIDIOM.cursorCollector.containsKey(request.getResumptionToken());
         
         boolean restokDCExisting = RecordListDelivererDC.cursorCollector != null
             && RecordListDelivererDC.cursorCollector.containsKey(request.getResumptionToken());
-
-        if (!restokDCExisting && !restokIDIOMExisting) {          
+        boolean restok = cursorCollector != null
+                && cursorCollector.containsKey(request.getResumptionToken());
+        
+        if (!restokDCExisting && !restokIDIOMExisting && !restok) {          
       	  result.setError(TGConstants.OAI_BAD_RESUMPTION_TOKEN, "The value of the "
               + request.getResumptionToken() + " argument is invalid or expired.");
         }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
index 8e617213f589ec4061eedf4f98cdc3a95824b73f..406de81eb53e766e5a1fdcd137db3940a97cdbe3 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
@@ -274,9 +274,10 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
           completeListSize, resumptionToken, cursorCollector, scrollID, this.searchResponseSize, i);
      
       //if (resTokenForResponse != null) {
-      System.out.println("RESTOKEN: ");
-        System.out.println(recordList.getResumptionToken());
+      
         recordList.setResumptionToken(resTokenForResponse);
+        System.out.println("RESTOKEN: ");
+        System.out.println(recordList.getResumptionToken());
       //}
 
     } else {