diff --git a/provisioning/playbook.yml b/provisioning/playbook.yml
index 681822e739b4c4ac46615e99d7ef90ece42a9e3e..70dc0dca5b9d5d2a0b467f0b4e62f8e9b5c7e2b3 100644
--- a/provisioning/playbook.yml
+++ b/provisioning/playbook.yml
@@ -36,21 +36,28 @@
   become: yes
 
   tasks:
-    - name: Install guacd
-      apt:
-        name: guacd
-
-    - name: Change default listening address of guacd
-      lineinfile:
-        path: /etc/default/guacd
-        regexp: LISTEN_ADDRESS=.*
-        line: LISTEN_ADDRESS={{ hostvars["man"]["kypo_global_sandbox_ip"] }}
-
-    - name: Restart guacd.service
-      systemd:
-        state: restarted
-        daemon_reload: yes
-        name: guacd
+    - name: Check if guacd exists
+      stat: path=/etc/init.d/guacd
+      register: guacd_status
+
+    - name: Install guacd block
+      block:
+      - name: Install guacd
+        apt:
+          name: guacd
+
+      - name: Change default listening address of guacd
+        lineinfile:
+          path: /etc/default/guacd
+          regexp: LISTEN_ADDRESS=.*
+          line: LISTEN_ADDRESS={{ hostvars["man"]["kypo_global_sandbox_ip"] }}
+
+      - name: Restart guacd.service
+        systemd:
+          state: restarted
+          daemon_reload: yes
+          name: guacd
+      when: not guacd_status.stat.exists
 
 - name: NAT on MAN node
   hosts: man