diff --git a/.travis.yml b/.travis.yml
index 0f978f7..28df064 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,6 @@
+language: python
+python:
+- "2.7.13"
 sudo: required
 services:
   - docker
diff --git a/_modules/dockerng_service.py b/_modules/dockerng_service.py
index 081b7e0..7b1074e 100644
--- a/_modules/dockerng_service.py
+++ b/_modules/dockerng_service.py
@@ -32,10 +32,16 @@
         return __virtualname__
     return (False, 'dockerio execution module not loaded: docker python library not available.')
 
+def _docker_module():
+    salt_version = __salt__['grains.get']('saltversioninfo', default=[2017,7,6])
+    if salt_version < [2017,7]:
+      return 'dockerng'
+    else:
+      return 'docker'
 
 def status(container, service):
     cmd = "systemctl show " + service + " -p ActiveState,SubState,UnitFileState"
-    data =  __salt__['dockerng.run'](container, cmd)
+    data =  __salt__[_docker_module() + '.run'](container, cmd)
     data = data.splitlines()
     result = dict(s.split('=') for s in data)
     return result
@@ -43,7 +49,7 @@
 
 def status_retcode(container, service):
     cmd = "systemctl show " + service + " -p ActiveState,SubState,UnitFileState"
-    data =  __salt__['dockerng.run'](container, cmd)
+    data =  __salt__[_docker_module() + '.run'](container, cmd)
     data = data.splitlines()
     result = dict(s.split('=') for s in data)
     if result['ActiveState'] == "active" and result['SubState'] == "running":
@@ -53,7 +59,7 @@
 
 def restart(container, service):
     cmd = "systemctl restart " + service
-    data =  __salt__['dockerng.run'](container, cmd)
+    data =  __salt__[_docker_module() + '.run'](container, cmd)
     if len(data) > 0:
         return False
     return True
@@ -61,7 +67,7 @@
 
 def stop(container, service):
     cmd = "systemctl stop " + service
-    data =  __salt__['dockerng.run'](container, cmd)
+    data =  __salt__[_docker_module() + '.run'](container, cmd)
     if len(data) > 0:
         return False
     return True
@@ -69,7 +75,7 @@
 
 def start(container, service):
     cmd = "systemctl start " + service
-    data =  __salt__['dockerng.run'](container, cmd)
+    data =  __salt__[_docker_module() + '.run'](container, cmd)
     if len(data) > 0:
         return False
     return True
@@ -77,7 +83,7 @@
 
 def enable(container, service):
     cmd = "systemctl enable " + service
-    data =  __salt__['dockerng.run'](container, cmd)
+    data =  __salt__[_docker_module() + '.run'](container, cmd)
     if len(data) > 0:
         return False
     return True
@@ -85,7 +91,7 @@
 
 def reload(container, service):
     cmd = "systemctl reload " + service
-    data =  __salt__['dockerng.run'](container, cmd)
+    data =  __salt__[_docker_module() + '.run'](container, cmd)
     if len(data) > 0:
         return False
     return True
@@ -93,7 +99,7 @@
 
 def disable(container, service):
     cmd = "systemctl disable " + service
-    data =  __salt__['dockerng.run'](container, cmd)
+    data =  __salt__[_docker_module() + '.run'](container, cmd)
     if len(data) > 0:
         return False
     return True
diff --git a/docker/host.sls b/docker/host.sls
index da8291e..f436349 100644
--- a/docker/host.sls
+++ b/docker/host.sls
@@ -1,6 +1,6 @@
 {% from "docker/map.jinja" import host with context %}
 
-{%- if host.enabled %}
+{%- if host.get('enabled', False) %}
 
 docker_packages:
   pkg.installed:
