diff --git a/deploy_app.sh b/deploy_app.sh
index 2a27cad45d5d206f2adf86bdc1f05e05805e0d34..bc919b6404cd8cb0e19722100fba1f43bac8aab2 100755
--- a/deploy_app.sh
+++ b/deploy_app.sh
@@ -247,14 +247,18 @@ function deploy(){
     # - send success message as email/ slack/ [another fancy tool]
     test $isupdate -eq 0 && echo $skipmessage
     test $isupdate -eq 0 || run_task "${profiledir}/tasks_postinstall.sh"
-    grep . $cfgdiff
-    if [ $? -eq 0 ]; then
+    hasfilechange=0
+    grep . $cfgdiff && hasfilechange=1
+    if [ $hasfilechange -eq 1 ]; then
         echo "INFO: a config file was created or changed."
-        run_task "${profiledir}/tasks_postchange.sh"
     else
         echo SKIP: No config file was changed.
     fi
     
+    if [ $isupdate -ne 0 -o $hasfilechange -eq 1 ]; then
+        run_task "${profiledir}/tasks_postchange.sh"
+    fi
+
     cd $( dirname $0 )
 
 }