diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DBMigrationEngine.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DBMigrationEngine.java
index cc656e25c40cf644b29dd61736565dc81ef9feee..deaf92fdb34b3fc08cbac25e1843157ce4df477c 100644
--- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DBMigrationEngine.java
+++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DBMigrationEngine.java
@@ -183,9 +183,7 @@ public final class DBMigrationEngine
                 || Integer.parseInt(fullTextSearchDocumentVersion) > ftsDocumentVersionFromFile))
         {
             operationLog.info("Applying full text search scripts...");
-            adminDAO.applyFullTextSearchScripts(
-                    scriptProvider.getFullTextSearchScriptsFolder(fullTextSearchDocumentVersion),
-                    fullTextSearchDocumentVersion);
+            adminDAO.applyFullTextSearchScripts(scriptProvider, fullTextSearchDocumentVersion);
             operationLog.info("Full text search scripts applied.");
             operationLog.info(String.format("Writing new version to file %s.", file.getAbsolutePath()));
             writeVersionToFile(file, fullTextSearchDocumentVersion);
diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/IDatabaseAdminDAO.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/IDatabaseAdminDAO.java
index 4f8b15942b8423b3cb482bf1f16bcd1658f8b34c..9b6a9e0eb1ceab5b8b7269460fe3599175ecec4c 100644
--- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/IDatabaseAdminDAO.java
+++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/IDatabaseAdminDAO.java
@@ -69,10 +69,10 @@ public interface IDatabaseAdminDAO
     /**
      * Applies scripts for full text search.
      *
-     * @param dumpFolder folder with full text search document SQL scripts.
+     * @param scriptProvider script provider.
      * @param version version of scripts.
      */
-    void applyFullTextSearchScripts(File dumpFolder, String version);
+    void applyFullTextSearchScripts(ISqlScriptProvider scriptProvider, String version);
 
     /**
      * Drops the database.
diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/ISqlScriptProvider.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/ISqlScriptProvider.java
index 536607cb08c4873211cef64df37a295e9dc5043e..74ab991c1172a74e396ca53ac5be450519be41e4 100644
--- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/ISqlScriptProvider.java
+++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/ISqlScriptProvider.java
@@ -107,4 +107,12 @@ public interface ISqlScriptProvider
      */
     public Script tryGetFunctionMigrationScript(String fromVersion, String toVersion);
 
+    /**
+     * Returns the triple of scripts for full text search.
+     *
+     * @param version full text search script version.
+     * @return array with 3 scripts to be called in sequence.
+     */
+    Script[] tryGetFullTextSearchScripts(String version);
+
 }
diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/SqlScriptProvider.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/SqlScriptProvider.java
index 8032ede4ccbbd8718775691217e7eecf2e203538..6cacd60beadddd7d2b02b40350c68423ac9d85f9 100644
--- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/SqlScriptProvider.java
+++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/SqlScriptProvider.java
@@ -207,6 +207,18 @@ public class SqlScriptProvider implements ISqlScriptProvider
         return tryLoadScript(scriptName, toVersion, "migration");
     }
 
+    @Override
+    public Script[] tryGetFullTextSearchScripts(final String version)
+    {
+        final String prefix = "full-text-search/" + version;
+        return new Script[]
+                {
+                    tryLoadScript("full-text-search-before-" + version + SQL_FILE_TYPE, version, prefix),
+                    tryLoadScript("full-text-search-" + version + SQL_FILE_TYPE, version, prefix),
+                    tryLoadScript("full-text-search-after-" + version + SQL_FILE_TYPE, version, prefix)
+                };
+    }
+
     private Script tryLoadScript(final String scriptName, final String scriptVersion)
     {
         return tryLoadScript(scriptName, scriptVersion, scriptVersion);
diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/h2/H2AdminDAO.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/h2/H2AdminDAO.java
index c64e7d6aa4cbb11d08bf8409ba439136ae8cd87a..7bea8d49788f902876dc73efed035fa80b526c9a 100644
--- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/h2/H2AdminDAO.java
+++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/h2/H2AdminDAO.java
@@ -25,6 +25,7 @@ import java.util.regex.Pattern;
 
 import javax.sql.DataSource;
 
+import ch.systemsx.cisd.dbmigration.*;
 import org.apache.log4j.Logger;
 import org.h2.tools.DeleteDbFiles;
 import org.springframework.jdbc.support.SQLErrorCodesFactory;
@@ -36,11 +37,6 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException;
 import ch.systemsx.cisd.common.filesystem.FileUtilities;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
-import ch.systemsx.cisd.dbmigration.AbstractDatabaseAdminDAO;
-import ch.systemsx.cisd.dbmigration.DatabaseVersionLogDAO;
-import ch.systemsx.cisd.dbmigration.IDatabaseAdminDAO;
-import ch.systemsx.cisd.dbmigration.IMassUploader;
-import ch.systemsx.cisd.dbmigration.MassUploadFileType;
 
 /**
  * Implementation of {@link IDatabaseAdminDAO} for H2.
@@ -161,7 +157,7 @@ public class H2AdminDAO extends AbstractDatabaseAdminDAO
     }
 
     @Override
-    public void applyFullTextSearchScripts(final File dumpFolder, final String version)
+    public void applyFullTextSearchScripts(final ISqlScriptProvider scriptProvider, final String version)
     {
         // No implementation.
     }
diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/postgresql/PostgreSQLAdminDAO.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/postgresql/PostgreSQLAdminDAO.java
index edc45b59d725594be91788dc1d3fb71a103e89ed..c93f54c6cfa0f668f5308f811b359dff6023bf32 100644
--- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/postgresql/PostgreSQLAdminDAO.java
+++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/postgresql/PostgreSQLAdminDAO.java
@@ -22,6 +22,7 @@ import java.util.Arrays;
 
 import javax.sql.DataSource;
 
+import ch.systemsx.cisd.dbmigration.*;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
 import org.springframework.dao.DataAccessException;
@@ -33,12 +34,6 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException;
 import ch.systemsx.cisd.common.filesystem.FileUtilities;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
-import ch.systemsx.cisd.dbmigration.AbstractDatabaseAdminDAO;
-import ch.systemsx.cisd.dbmigration.DBUtilities;
-import ch.systemsx.cisd.dbmigration.DatabaseVersionLogDAO;
-import ch.systemsx.cisd.dbmigration.IDatabaseAdminDAO;
-import ch.systemsx.cisd.dbmigration.IMassUploader;
-import ch.systemsx.cisd.dbmigration.MassUploadFileType;
 
 /**
  * Implementation of {@link IDatabaseAdminDAO} for PostgreSQL.
@@ -264,11 +259,13 @@ public class PostgreSQLAdminDAO extends AbstractDatabaseAdminDAO
     }
 
     @Override
-    public void applyFullTextSearchScripts(final File dumpFolder, final String version)
+    public void applyFullTextSearchScripts(final ISqlScriptProvider scriptProvider, final String version)
     {
-        final Script beforeScript = tryLoadScript(dumpFolder, "full-text-search-before", version);
-        final Script mainScript = tryLoadScript(dumpFolder, "full-text-search", version);
-        final Script afterScript = tryLoadScript(dumpFolder, "full-text-search-after", version);
+        final Script[] scripts = scriptProvider.tryGetFullTextSearchScripts(version);
+
+        final Script beforeScript = scripts[0];
+        final Script mainScript = scripts[1];
+        final Script afterScript = scripts[2];
 
         operationLog.info("Executing full text search preparation script...");
         scriptExecutor.execute(beforeScript, false, null);