diff --git a/Changes b/Changes
index 359eec3..290b3eb 100644
--- a/Changes
+++ b/Changes
@@ -5,7 +5,9 @@
     - [feature] Added --progress option to Krill-Indexer (kupietz)
     - [bugfix] Fixed vc cache tests (kupietz)
     - [security] Dependencies updated (diewald, margaretha, kupietz)
-    - [enhancement] Keep corpus or collection node name from json 
+    - [enhancement] Keep corpus or collection node name from json (margaretha) 
+    - [enhancement] Alter vcNamePattern to allow system VC names with less 
+      than 3 characters (margaretha)
 
 0.64.3 2025-08-19
     - [feature] Add tar and zip archive input support to Krill-Indexer (kupietz)
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 73566a2..cf190bd 100644
--- a/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java
+++ b/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java
@@ -38,7 +38,7 @@
     public final static Logger log = LoggerFactory
             .getLogger(VirtualCorpusCache.class);
     
-    public static Pattern vcNamePattern = Pattern.compile("[a-zA-Z0-9]+[a-zA-Z_0-9-.]+");
+    public static Pattern vcNamePattern = Pattern.compile("[a-zA-Z0-9]+[a-zA-Z_0-9-.]*");
 
     public static String CACHE_LOCATION = "vc-cache";
     
@@ -103,7 +103,8 @@
     public static void storeOnDisk (String vcId, String leafFingerprint,
             DocBits docBits) {
         if (!isVcIdValid(vcId)) {
-            throw new IllegalArgumentException("Cannot cache VC due to invalid VC ID");
+            throw new IllegalArgumentException("Cannot cache VC due to invalid "
+            		+ "VC ID");
         }
 
         File dir = new File(CACHE_LOCATION + "/" + vcId);
