diff --git a/pulsar/managers/queued_external_drmaa.py b/pulsar/managers/queued_external_drmaa.py
index ffe8a1e7e80a381e82dfcfbbfd17d26f14dd6994..41aee69e5b36df04e95e64f5b7740d38c19f4194 100644
--- a/pulsar/managers/queued_external_drmaa.py
+++ b/pulsar/managers/queued_external_drmaa.py
@@ -5,6 +5,8 @@ from .base.base_drmaa import BaseDrmaaManager
 from .util.sudo import sudo_popen
 from ..managers import status
 
+from galaxy.tools.deps.commands import which
+
 from logging import getLogger
 log = getLogger(__name__)
 
@@ -21,9 +23,9 @@ class ExternalDrmaaQueueManager(BaseDrmaaManager):
 
     def __init__(self, name, app, **kwds):
         super(ExternalDrmaaQueueManager, self).__init__(name, app, **kwds)
-        self.chown_working_directory_script = kwds.get('chown_working_directory_script', DEFAULT_CHOWN_WORKING_DIRECTORY_SCRIPT)
-        self.drmaa_kill_script = kwds.get('drmaa_kill_script', DEFAULT_DRMAA_KILL_SCRIPT)
-        self.drmaa_launch_script = kwds.get('drmaa_launch_script', DEFAULT_DRMAA_LAUNCH_SCRIPT)
+        self.chown_working_directory_script = _handle_default(kwds.get('chown_working_directory_script', None), "chown_working_directory")
+        self.drmaa_kill_script = _handle_default(kwds.get('drmaa_kill_script', None), "drmaa_kill")
+        self.drmaa_launch_script = _handle_default(kwds.get('drmaa_launch_script', None), "drmaa_launch")
         self.production = kwds.get('production', "true").lower() != "false"
         self.reclaimed = {}
         self.user_map = {}
@@ -82,3 +84,23 @@ class ExternalDrmaaQueueManager(BaseDrmaaManager):
         stdout, stderr = p.communicate()
         assert p.returncode == 0, "%s, %s" % (stdout, stderr)
         return stdout
+
+
+def _handle_default(value, script_name):
+    """ There are two potential variants of these scripts,
+    the Bash scripts that are meant to be run within PULSAR_ROOT
+    for older-style installs and the binaries created by setup.py
+    as part of a proper pulsar installation.
+
+    This method first looks for the newer style variant of these
+    scripts and returns the full path to them if needed and falls
+    back to the bash scripts if these cannot be found.
+    """
+    if value:
+        return value
+
+    installed_script = which("pulsar-%s" % script_name.replace("_", "-"))
+    if installed_script:
+        return installed_script
+    else:
+        return "scripts/%s.bash" % script_name
diff --git a/setup.py b/setup.py
index fc0f3e5f52e6da8708859385708cb9c8a34aa1c0..aea7e873baaa9e7be50ffe22bb9edb60e8d4ad29 100644
--- a/setup.py
+++ b/setup.py
@@ -89,6 +89,9 @@ setup(
         pulsar-main=pulsar.main:main
         pulsar-check=pulsar.client.test.check:main
         pulsar-config=pulsar.scripts.config:main
+        pulsar-drmaa-launch=pulsar.scripts.drmaa_launch:main
+        pulsar-drmaa-kill=pulsar.scripts.drmaa_kill:main
+        pulsar-chown-working-directory=pulsar.scripts.chown_working_directory:main
     ''',
     scripts=scripts,
     package_data={'pulsar': [