diff --git a/tasks/main.yml b/tasks/main.yml
index 70eb08c..0ad973e 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -45,11 +45,15 @@
   when: not nc_current.stat.lnk_target is defined
 
 - name: Copy old nextcloud config
+  become: yes
+  become_user: "{{ nextcloud_user }}"
   copy:
     src: "{{ nextcloud_directory }}/current/config/config.php"
     dest: "{{ nextcloud_install_directory }}/config/config.php"
+    owner: "{{ nextcloud_user }}"
+    group: "{{ nextcloud_group }}"
     remote_src: yes
-  when: not nc_current.stat.lnk_target is defined or nc_current.stat.lnk_target != nextcloud_install_directory
+  when: nc_current.stat.lnk_target is defined and nc_current.stat.lnk_target != nextcloud_install_directory
 
 - name: Configure nextcloud
   become: yes
@@ -80,7 +84,7 @@
     group: "{{ nextcloud_group }}"
     state: link
 
-- name: Put nextcloud into maintenance mode
+- name: Run nextcloud upgrade command
   become: yes
   become_user: "{{ nextcloud_user }}"
   command: "php occ upgrade --no-interaction"