diff --git a/Changes b/Changes
index 00591d7..8ed4d6a 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,6 @@
+0.62.3 2024-04-11
+    - [cleanup] Added getDocBitsSupplier to VirtualCorpusFilter (margaretha)
+
 0.62.2 2024-02-20
     - [feature] Support MMap directory parameters directly
       for KrillIndex (without the need for Lucene dependencies)
diff --git a/pom.xml b/pom.xml
index 982fd7f..1ebe5c1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,7 +35,7 @@
 
   <groupId>de.ids-mannheim.korap.krill</groupId>
   <artifactId>Krill</artifactId>
-  <version>0.62.2</version>
+  <version>0.62.3</version>
   <packaging>jar</packaging>
 
   <name>Krill</name>
diff --git a/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java b/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java
index eeb793b..069ec68 100644
--- a/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java
+++ b/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java
@@ -139,7 +139,7 @@
         }
         
         DocBitsSupplier docBitsSupplier = new VirtualCorpusFilter(
-                vcId).new DocBitsSupplier();
+                vcId).getDocBitsSupplier();
         String leafFingerprint;
         for (LeafReaderContext context : index.reader().leaves()) {
             leafFingerprint = Fingerprinter.create(
diff --git a/src/main/java/de/ids_mannheim/korap/collection/VirtualCorpusFilter.java b/src/main/java/de/ids_mannheim/korap/collection/VirtualCorpusFilter.java
index e0831bb..4d7d9aa 100644
--- a/src/main/java/de/ids_mannheim/korap/collection/VirtualCorpusFilter.java
+++ b/src/main/java/de/ids_mannheim/korap/collection/VirtualCorpusFilter.java
@@ -48,6 +48,15 @@
         return docBits.createBitDocIdSet();
     }
 
+    @Override
+    public String toString () {
+        return "vcFilter("+vcId+")";
+    }
+    
+    public DocBitsSupplier getDocBitsSupplier () {
+        return docBitsSupplier;
+    }
+    
     public class DocBitsSupplier {
 
         private Filter filter;
@@ -97,8 +106,4 @@
         }
     }
     
-    @Override
-    public String toString () {
-        return "vcFilter("+vcId+")";
-    }
 }
