diff --git a/tasks/register.yml b/tasks/register.yml
index 664afb35622ad4ffd33d21833614a0c57f914ea4..6cae1a9ed3d16d70a434145ffcaab2deaa418f89 100644
--- a/tasks/register.yml
+++ b/tasks/register.yml
@@ -1,6 +1,12 @@
 ---
 # file: roles/spideroak/tasks/register.yml
 
+- name: "Stop SpiderOak"
+  service:
+    name='spideroak'
+    state='stopped'
+    pattern='SpiderOakONE'
+
 - name: "Transfer Files"
   template:
     src='{{ item.template }}'
diff --git a/tasks/spideroak.yml b/tasks/spideroak.yml
index 6de1bc8795fa6d354abfef5463c2169dd2cef4e3..d0c5cdd38ecd06ada4868df23c7ed42d8f3b6c4e 100644
--- a/tasks/spideroak.yml
+++ b/tasks/spideroak.yml
@@ -25,7 +25,7 @@
     update_cache=yes
 
 - import_tasks: register.yml
-  when: spideroak_available is defined and spideroak_available.stdout != '/usr/bin/SpiderOakONE'
+  when: spideroak_reinstall|default(false) == 'true' or (spideroak_available is defined and spideroak_available.stdout != '/usr/bin/SpiderOakONE')
 
 - name: "Stop SpiderOak"
   service:
diff --git a/templates/setup.json b/templates/setup.json
index dfb78c9f18b145a782dd87ab1ebf10d091b9e6fc..608e3f841e3e69828b7a1746e94db9de25ddca37 100644
--- a/templates/setup.json
+++ b/templates/setup.json
@@ -1,6 +1,6 @@
 {
   "username": "{{ spideroak_username }}",
   "password": "{{ spideroak_password }}",
-  "reinstall": false,
+  "reinstall": {{ spideroak_reinstall|default(false) }},
   "device_name": "{{ inventory_hostname }}"
 }