diff --git a/pulsar/client/test/check.py b/pulsar/client/test/check.py
index 46692613d2eefac1c5a0befc812c0f7c82696013..b47f4a1adb6c52ed64bdf9b26edfd31600e44f73 100644
--- a/pulsar/client/test/check.py
+++ b/pulsar/client/test/check.py
@@ -17,8 +17,14 @@ import traceback
 from collections import namedtuple
 from io import open
 
-from galaxy.tools.deps.dependencies import DependenciesDescription
-from galaxy.tools.deps.requirements import ToolRequirement
+try:
+    # If galaxy-lib or Galaxy 19.05 present.
+    from galaxy.tools.deps.dependencies import DependenciesDescription
+    from galaxy.tools.deps.requirements import ToolRequirement
+except ImportError:
+    # If galaxy-tool-util or Galaxy 19.09 present.
+    from galaxy.tool_util.deps.dependencies import DependenciesDescription
+    from galaxy.tool_util.deps.requirements import ToolRequirement
 from six import binary_type
 
 from pulsar.client import (
diff --git a/pulsar/core.py b/pulsar/core.py
index db9818bf106353e9d778d8bd20382c86dac182ce..ee8f4f7d654572ee63170d11b276b09ba34bc149 100644
--- a/pulsar/core.py
+++ b/pulsar/core.py
@@ -9,8 +9,18 @@ from pulsar.tools import ToolBox
 from pulsar.tools.authorization import get_authorizer
 from pulsar import messaging
 from galaxy.objectstore import build_object_store_from_config
-from galaxy.tools.deps import DependencyManager
-from galaxy.jobs.metrics import JobMetrics
+try:
+    # If galaxy-lib or Galaxy <19.05 present.
+    from galaxy.tools.deps import DependencyManager
+except ImportError:
+    # If galaxy-tool-util or Galaxy >=19.09 present.
+    from galaxy.tool_util.deps import DependencyManager
+try:
+    # If galaxy-lib or Galaxy <19.05 present.
+    from galaxy.jobs.metrics import JobMetrics
+except ImportError:
+    # If galaxy-job-metrics or Galaxy >=19.09 present.
+    from galaxy.job_metrics import JobMetrics
 from galaxy.util.bunch import Bunch
 
 from logging import getLogger
diff --git a/pulsar/managers/stateful.py b/pulsar/managers/stateful.py
index dcee9c9c353ff20c47cb30c7c523e03f51d4a20d..bff96998c704cb1708c9e014527d11fa9b745ed8 100644
--- a/pulsar/managers/stateful.py
+++ b/pulsar/managers/stateful.py
@@ -6,7 +6,12 @@ import os
 import time
 import threading
 
-from galaxy.tools.deps import dependencies
+try:
+    # If galaxy-lib or Galaxy 19.05 present.
+    from galaxy.tools.deps.dependencies import DependenciesDescription
+except ImportError:
+    # If galaxy-tool-util or Galaxy 19.09 present.
+    from galaxy.tool_util.deps.dependencies import DependenciesDescription
 
 from pulsar.client.util import filter_destination_params
 from pulsar.managers import ManagerProxy
@@ -109,7 +114,7 @@ class StatefulManagerProxy(ManagerProxy):
             yield
             launch_kwds = {}
             if launch_config.get("dependencies_description"):
-                dependencies_description = dependencies.DependenciesDescription.from_dict(launch_config["dependencies_description"])
+                dependencies_description = DependenciesDescription.from_dict(launch_config["dependencies_description"])
                 launch_kwds["dependencies_description"] = dependencies_description
             for kwd in ["submit_params", "setup_params", "env"]:
                 if kwd in launch_config: