diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/BlastDatabaseCreationMaintenanceTask.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/BlastDatabaseCreationMaintenanceTask.java
index f62700b9e03733ad010a4622107527f38b8a147a..c4eab24b62fb9e6ea16a88c245e6f1e0730330af 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/BlastDatabaseCreationMaintenanceTask.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/BlastDatabaseCreationMaintenanceTask.java
@@ -421,13 +421,15 @@ public class BlastDatabaseCreationMaintenanceTask implements IMaintenanceTask
         private final String postfix;
         private final File databaseFile;
         private final Set<String> dataSetCodes = new LinkedHashSet<String>();
+        private final String virtualDatabaseFileType;
 
         VirtualDatabase(File databaseFolder, SequenceType sequenceType)
         {
             this.databaseFolder = databaseFolder;
             dbtype = sequenceType.toString().toLowerCase();
             postfix = "-" + dbtype;
-            databaseFile = new File(databaseFolder, "all-" + dbtype + ".nal");
+            virtualDatabaseFileType = sequenceType == SequenceType.NUCL ? ".nal" : ".pal";
+            databaseFile = new File(databaseFolder, "all-" + dbtype + virtualDatabaseFileType);
             if (databaseFile.isFile())
             {
                 List<String> lines = FileUtilities.loadToStringList(databaseFile);
@@ -500,8 +502,8 @@ public class BlastDatabaseCreationMaintenanceTask implements IMaintenanceTask
         
         void save()
         {
-            File allDatabaseFile = new File(databaseFolder, "all-" + dbtype + ".nal");
-            File newAllDatabaseFile = new File(databaseFolder, "all-" + dbtype + ".nal.new");
+            File allDatabaseFile = new File(databaseFolder, "all-" + dbtype + virtualDatabaseFileType);
+            File newAllDatabaseFile = new File(databaseFolder, "all-" + dbtype + virtualDatabaseFileType + ".new");
             if (dataSetCodes.isEmpty())
             {
                 if (allDatabaseFile.exists())
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/plugins/BlastDatabaseCreationMaintenanceTaskTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/plugins/BlastDatabaseCreationMaintenanceTaskTest.java
index 51e4c2793a3ed20e8c88a4103e7c23903672a42f..dae04dc86391abd58ba2e8cedd674885944697eb 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/plugins/BlastDatabaseCreationMaintenanceTaskTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/plugins/BlastDatabaseCreationMaintenanceTaskTest.java
@@ -286,7 +286,7 @@ public class BlastDatabaseCreationMaintenanceTaskTest extends AbstractFileSystem
         assertEquals("TITLE all-nucl\nDBLIST DS-3-nucl",
                 FileUtilities.loadToString(new File(store, "blast-databases/all-nucl.nal")).trim());
         assertEquals("TITLE all-prot\nDBLIST DS-3-prot",
-                FileUtilities.loadToString(new File(store, "blast-databases/all-prot.nal")).trim());
+                FileUtilities.loadToString(new File(store, "blast-databases/all-prot.pal")).trim());
         assertEquals("[]", Arrays.asList(new File(store, "blast-databases/tmp").listFiles()).toString());
         assertEquals(0L, lastSeenIdMatcher.recordedObject().getLastSeenDataSetId());
         context.assertIsSatisfied();