diff --git a/.ci/Dockerfile.kinetic b/.ci/Dockerfile.kinetic
index 091224f84078f7019b1211741637ab206a90fbc9..0129ced1efdb75acf2dfe21c1ae6a3308732c655 100644
--- a/.ci/Dockerfile.kinetic
+++ b/.ci/Dockerfile.kinetic
@@ -1,4 +1,4 @@
-FROM osrf/ros:melodic-desktop-kinetic
+FROM osrf/ros:kinetic-desktop-xenial
 RUN apt-get update && apt-get install -y \
     clang-6.0 \
     clang-format-6.0 \
diff --git a/.ci/Dockerfile.bionic b/.ci/Dockerfile.melodic
similarity index 100%
rename from .ci/Dockerfile.bionic
rename to .ci/Dockerfile.melodic
diff --git a/Jenkinsfile b/Jenkinsfile
index 52688606258e70761915895bfc664ed9ed0c7d62..580529e771db6c2c6e8df89bf7b1b82993f62095 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,6 +1,6 @@
 #!groovy
 
-def get_stages(ubuntu_version, ros_distribution){
+def get_stages(ros_distribution){
   node('docker') {
   step([$class: 'StashNotifier'])
 
@@ -31,12 +31,14 @@ def get_stages(ubuntu_version, ros_distribution){
       '''
     }
 
-    docker.build("franka_ros-ci-worker:${ubuntu_version}", "-f src/franka_ros/.ci/Dockerfile.${ubuntu_version} .ci").inside {
+    docker.build("franka_ros-ci-worker:${ros_distribution}", "-f src/franka_ros/.ci/Dockerfile.${ros_distribution} src/franka_ros/.ci").inside {
       withEnv(["CMAKE_PREFIX_PATH+=${env.WORKSPACE}/dist/libfranka/lib/cmake/Franka",
                "ROS_HOME=${env.WORKSPACE}/ros-home"]) {
         stage('Build & Lint (Debug)') {
-          sh ". /opt/ros/${ros_distribution}/setup.sh"
-          sh 'src/franka_ros/.ci/debug.sh'
+          sh """
+            . /opt/ros/${ros_distribution}/setup.sh
+            src/franka_ros/.ci/debug.sh
+          """
           junit 'build-debug/test_results/**/*.xml'
         }
       }
@@ -55,6 +57,6 @@ def get_stages(ubuntu_version, ros_distribution){
 
 
 parallel(
-  'xenial': get_stages('xenial, kinetic'),
-  'bionic': get_stages('bionic, melodic'),
+  'kinetic': get_stages('kinetic'),
+  'melodic': get_stages('melodic'),
 )