diff --git a/src/freedombone-app-xmpp b/src/freedombone-app-xmpp
index 5abdf6a52d9ca8f5849c420c23698a9c5c54d735..c493c939386eb40fc232ac6760e073521bb46275 100755
--- a/src/freedombone-app-xmpp
+++ b/src/freedombone-app-xmpp
@@ -319,8 +319,10 @@ function update_prosody_modules {
                 fi
                 tar -xzvf $prosody_modules_filename
                 if [ -d prosody-modules ]; then
+                    systemctl stop prosody
                     cp -r prosody-modules/* /var/lib/prosody/prosody-modules
                     chown -R prosody:prosody /var/lib/prosody/prosody-modules
+                    systemctl start prosody
                 fi
             fi
         fi
@@ -328,10 +330,14 @@ function update_prosody_modules {
 
     # change to using pep rather than profile modules
     if grep '"profile"' /etc/prosody/prosody.cfg.lua; then
+        systemctl stop prosody
         sed -i 's|"profile"|"pep"|g' /etc/prosody/prosody.cfg.lua
+        systemctl start prosody
     fi
     if ! grep '"vcard"' /etc/prosody/prosody.cfg.lua; then
+        systemctl stop prosody
         sed -i '/"pep"/a "vcard";' /etc/prosody/prosody.cfg.lua
+        systemctl start prosody
     fi
 }