diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/ErrorHandler.java b/oaipmh-core/src/main/java/info/textgrid/middleware/ErrorHandler.java
index 1f01edae0946d04f4b6c3026bfdfb1980b81211b..7ee3483ee6630e3c3247bb7e5f05c1637aa27cf1 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/ErrorHandler.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/ErrorHandler.java
@@ -42,7 +42,9 @@ public class ErrorHandler {
       this.errorCode = OAIPMHerrorcodeType.NO_RECORDS_MATCH;
     } else if (errorDescription.equals("SetHierarchyError")) {
       this.errorCode = OAIPMHerrorcodeType.NO_SET_HIERARCHY;
-    }
+    } else if (errorDescription.equals("badVerb")) {
+        this.errorCode = OAIPMHerrorcodeType.BAD_VERB;
+      }
 
     this.error.setCode(this.errorCode);
     this.error.setValue(errorValue);
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 4ac1a093661386a48a8c7c5af2267d6dcf380fa2..bcce4e4b3a02b70c1dea1376a95d16e5eb3b1f2b 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
@@ -473,19 +473,20 @@ public class OAIPMHImpl implements OAIPMHProducer {
 
     VerbType verbParam = null;
 
-    if (verb != null && verb.equals("Identify")) {
+    if (verb.equals("Identify")) {
       verbParam = VerbType.IDENTIFY;
-    } else if (verb != null && verb.equals("ListMetadataFormats")) {
+    } else if (verb.equals("ListMetadataFormats")) {
       verbParam = VerbType.LIST_METADATA_FORMATS;
-    } else if (verb != null && verb.equals("ListSets")) {
+    } else if (verb.equals("ListSets")) {
       verbParam = VerbType.LIST_SETS;
-    } else if (verb != null && verb.equals("ListIdentifiers")) {
+    } else if (verb.equals("ListIdentifiers")) {
       verbParam = VerbType.LIST_IDENTIFIERS;
-    } else if (verb != null && verb.equals("ListRecords")) {
+    } else if (verb.equals("ListRecords")) {
       verbParam = VerbType.LIST_RECORDS;
-    } else if (verb != null && verb.equals("GetRecord")) {
+    } else if (verb.equals("GetRecord")) {
       verbParam = VerbType.GET_RECORD;
-    }else { 
+    }else if (verb.length()>0){
+    	System.out.println("VERB: " + verb);
       this.error.setError(TGConstants.OAI_VERB_ERROR, "Illegal OAI verb");
     }
 
@@ -652,11 +653,16 @@ public class OAIPMHImpl implements OAIPMHProducer {
       } else if (verbParam.value().equals("ListRecords")) {
         response = listRecordsRequest(response, request);
       }
-    } else {
-      this.error.setError(TGConstants.OAI_BAD_ARGUMENT, "Required argument 'verb' is missing");
-      response.getError().add(this.error.getError());
+    } else {   	
+    	if(this.error.getError().getValue()!=null && this.error.getError().getValue().equals("Illegal OAI verb")){      
+    		this.error.setError(TGConstants.OAI_VERB_ERROR, "Illegal OAI verb");
+    		response.getError().add(this.error.getError());
+    	}else {
+    		this.error.setError(TGConstants.OAI_BAD_ARGUMENT, "Required argument 'verb' is missing");
+    		response.getError().add(this.error.getError());
+    	}    	
     }
-
+    
     response.setRequest(request);
     result = obf.createOAIPMH(response);
 
diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java b/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
index f3022c262de8b181ee68d9ec6b1c8b4b3195d3f5..927f9793c11c720ab4e368a1ff882ce1770770ba 100644
--- a/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
+++ b/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
@@ -297,7 +297,7 @@ public class OaiPmhTest {
   public void testMissingVerbArgument() throws ParseException {
     System.out
         .println("Test for request with missing verb argument");
-    String p = this.request.getRequest("", "", "", "", "", "", "");
+    String p = this.request.getRequest("junk", "", "", "", "", "", "");
     System.out.println(p);
     System.out.println("-----------------------------------\n");
   }
@@ -360,7 +360,7 @@ public class OaiPmhTest {
     //String p = this.request.getRequest("ListRecords", "", "oai_dc", "project:TGPR-f89ad029-4eb2-ae5c-6028-5db876513128", "", "", "");
     String p = this.request.getRequest("ListRecords", "", "oai_dc", "", "", "", "");
     System.out.println(p);
-    String resToken = "";
+    /*String resToken = "";
     for (Map.Entry<String, Integer> entry : RecordListDelivererDC.cursorCollector.entrySet()) {
       resToken = entry.getKey();
       String p2 = this.request.getRequest("ListRecords", "", "", "", "", "", resToken);
@@ -368,7 +368,7 @@ public class OaiPmhTest {
       System.out.println("HASH MAP AFTER: ");
       System.out.println(RecordListDelivererDC.cursorCollector);
       System.out.println("-----------------------------------\n");
-    }
+    }*/
     
 
   }