diff --git a/pulsar/client/job_directory.py b/pulsar/client/job_directory.py
index 6295727a446d4cad955a592cbbb0d61db5be051d..f9e136fa9a1ab01ad7e747881ca82ece4295eaea 100644
--- a/pulsar/client/job_directory.py
+++ b/pulsar/client/job_directory.py
@@ -42,6 +42,9 @@ class RemoteJobDirectory:
         else:
             self.job_directory = remote_staging_directory
 
+    def home_directory(self):
+        return self._sub_dir('home')
+
     def metadata_directory(self):
         return self._sub_dir('metadata')
 
diff --git a/pulsar/managers/base/directory.py b/pulsar/managers/base/directory.py
index 98e133e5d8a27291850e498c2eec03c4bf207230..96a0055ec8e159eba210c7c5fd8e788b251d9b44 100644
--- a/pulsar/managers/base/directory.py
+++ b/pulsar/managers/base/directory.py
@@ -160,9 +160,10 @@ class DirectoryBaseManager(BaseManager):
             'galaxy_lib': self._galaxy_lib(),
             'preserve_python_environment': setup_params.get('preserve_galaxy_python_environment', False),
             'env_setup_commands': env_setup_commands,
-            'job_directory': self.job_directory(job_id).job_directory,
+            # job_diredctory not used by job_script and it calls the job directory working directory
             'working_directory': self.job_directory(job_id).working_directory(),
             'metadata_directory': self.job_directory(job_id).metadata_directory(),
+            'home_directory': self.job_directory(job_id).home_directory(),
             'job_id': job_id,
             'tmp_dir_creation_statement': self._tmp_dir(job_id),
         }
diff --git a/pulsar/managers/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh b/pulsar/managers/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh
index 7b4d04d0a58b81bb04d66c0d2239cecf5fd24170..08d698ab77928eb8f50497cf711884c43df684f3 100644
--- a/pulsar/managers/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh
+++ b/pulsar/managers/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh
@@ -5,7 +5,7 @@ $headers
 _galaxy_setup_environment() {
     local _use_framework_galaxy="$1"
     _GALAXY_JOB_DIR="$working_directory"
-    _GALAXY_JOB_HOME_DIR="$working_directory/home"
+    _GALAXY_JOB_HOME_DIR="$home_directory"
     _GALAXY_JOB_TMP_DIR=$tmp_dir_creation_statement
     $env_setup_commands
     if [ "$GALAXY_LIB" != "None" -a "$_use_framework_galaxy" = "True" ]; then
diff --git a/pulsar/managers/util/job_script/__init__.py b/pulsar/managers/util/job_script/__init__.py
index 3d662811cc1b64b25607a12963fb3b3383b42aca..d3512d9f370dcde4038700152cdb93ef40c5225f 100644
--- a/pulsar/managers/util/job_script/__init__.py
+++ b/pulsar/managers/util/job_script/__init__.py
@@ -93,6 +93,9 @@ def job_script(template=DEFAULT_JOB_FILE_TEMPLATE, **kwds):
         kwds["instrument_pre_commands"] = job_instrumenter.pre_execute_commands(working_directory) or ""
         kwds["instrument_post_commands"] = job_instrumenter.post_execute_commands(working_directory) or ""
 
+    # Setup home directory var
+    kwds["home_directory"] = kwds.get("home_directory", os.path.join(kwds["working_directory"], "home"))
+
     template_params = OPTIONAL_TEMPLATE_PARAMS.copy()
     template_params.update(**kwds)
     env_setup_commands_str = "\n".join(template_params["env_setup_commands"])