bEventRestoreObject                   = 17,
   bEventEndFileSet                      = 18,
   bEventPluginCommand                   = 19, /* Sent during FileSet creation */
-  bEventVssBeforeCloseRestore           = 20
+  bEventVssBeforeCloseRestore           = 20,
+  bEventVssAddSnapshotLetters           = 21  /* Can add drives to vss snap */
 } bEventType;
 
 typedef struct s_bEvent {
 
       if (g_pVSSClient->InitializeForBackup(jcr)) {   
         generate_plugin_event(jcr, bEventVssBackupAddComponents);
         /* tell vss which drives to snapshot */   
-        char szWinDriveLetters[27];   
+        char szWinDriveLetters[27];
+        *szWinDriveLetters=0;
+        generate_plugin_event(jcr, bEventVssSnapshotLetters, szWinDriveLetters);
         if (get_win32_driveletters(jcr->ff, szWinDriveLetters)) {
             Jmsg(jcr, M_INFO, 0, _("Generate VSS snapshots. Driver=\"%s\", Drive(s)=\"%s\"\n"), g_pVSSClient->GetDriverName(), szWinDriveLetters);
             if (!g_pVSSClient->CreateSnapshots(szWinDriveLetters)) {               
 
 #if !defined(HAVE_WIN32)
    return 0;
 #endif
+   int nCount;
+   /* Can be already filled by plugin, so check that everything
+    * is on upper case. TODO: can check for dupplicate?
+    */
+   for (nCount = 0; nCount < 27 && szDrives[nCount] ; nCount++) {
+      szDrives[nCount] = toupper(szDrives[nCount]);
+   }
 
-   szDrives[0] = 0; /* make empty */
-   int nCount = 0;
-    
    findFILESET *fileset = ff->fileset;
    if (fileset) {
       int i;