diff --git a/src/main/java/de/ids_mannheim/korap/sru/KorapClient.java b/src/main/java/de/ids_mannheim/korap/sru/KorapClient.java
index 5f42f03..f843df9 100644
--- a/src/main/java/de/ids_mannheim/korap/sru/KorapClient.java
+++ b/src/main/java/de/ids_mannheim/korap/sru/KorapClient.java
@@ -233,6 +233,7 @@
         // remove matches for public search metadata response
         if (!freeAccess) {
         	result.getMatches().clear();
+        	result.getMatches().add(new KorapMatch());
         }
         return result;
     }
diff --git a/src/main/java/de/ids_mannheim/korap/sru/KorapSRUSearchResultSet.java b/src/main/java/de/ids_mannheim/korap/sru/KorapSRUSearchResultSet.java
index b4406d9..4c876c9 100644
--- a/src/main/java/de/ids_mannheim/korap/sru/KorapSRUSearchResultSet.java
+++ b/src/main/java/de/ids_mannheim/korap/sru/KorapSRUSearchResultSet.java
@@ -113,18 +113,20 @@
 
     @Override
     public void writeRecord(XMLStreamWriter writer) throws XMLStreamException {
-        KorapMatch match = korapResult.getMatch(i);
-        match.parseMatchId();
         XMLStreamWriterHelper.writeStartResource(writer, null,
                 reference);
-        XMLStreamWriterHelper.writeStartResourceFragment(writer, null, null);
-
-        List<AnnotationLayer> annotationLayers;
-        annotationLayers = parseAnnotations(match);
-
-        writeAdvancedDataView(writer, annotationLayers);
-
-        XMLStreamWriterHelper.writeEndResourceFragment(writer);
+        KorapMatch match = korapResult.getMatch(i);
+        if (match.getMatchId() != null) {
+        	match.parseMatchId();
+        	
+        	XMLStreamWriterHelper.writeStartResourceFragment(writer, null, null);
+        
+            List<AnnotationLayer> annotationLayers;
+            annotationLayers = parseAnnotations(match);
+            writeAdvancedDataView(writer, annotationLayers);
+        
+            XMLStreamWriterHelper.writeEndResourceFragment(writer);
+        }
         XMLStreamWriterHelper.writeEndResource(writer);
     }
 
@@ -164,7 +166,7 @@
         if (match == null) {
             throw new NullPointerException("KorapMatch is null.");
         }
-
+        
         try {
             String annotationSnippet = korapClient.retrieveAnnotations(
                     match.getCorpusId(), match.getDocId(), match.getTextId(),
