diff --git a/deployment.sh b/deployment.sh
index f07d519..652f15f 100755
--- a/deployment.sh
+++ b/deployment.sh
@@ -1496,33 +1496,83 @@ EOT
     die "Error during installation of ngcp. Find details at: $TARGET/tmp/ngcp-installer.log $TARGET/tmp/ngcp-installer-debug.log"
   fi
 
-  if "$RETRIEVE_MGMT_CONFIG" && [ "$ROLE" = "sp1" ] ; then
-    password=sipwise
-
-    logit "Retrieving config.yml from management server"
-    wget --timeout=30 -O "${TARGET}"/etc/ngcp-config/config.yml "${MANAGEMENT_IP}:3000/yml/config/$(cat ${TARGET}/etc/hostname)"
-    logit "Copying config.yml to /mnt/glusterfs/shared_config"
-    chroot $TARGET cp /etc/ngcp-config/config.yml /mnt/glusterfs/shared_config/config.yml
-
-    logit "Retrieving constants.yml from management server"
-    wget --timeout=30 -O "${TARGET}"/etc/ngcp-config/constants.yml "${MANAGEMENT_IP}:3000/yml/constants/$(cat ${TARGET}/etc/hostname)"
-    logit "Copying constants.yml to /mnt/glusterfs/shared_config"
-    chroot $TARGET cp /etc/ngcp-config/constants.yml /mnt/glusterfs/shared_config/constants.yml
-
-    logit "Retrieving network.yml from management server"
-    wget --timeout=30 -O "${TARGET}"/etc/ngcp-config/network.yml "${MANAGEMENT_IP}:3000/yml/network/$(cat ${TARGET}/etc/hostname)"
-
-    logit "Retrieving sipwise.cnf from management server (using password ${password})"
-    wget --timeout=30 -O "${TARGET}"/etc/mysql/sipwise.cnf "${MANAGEMENT_IP}:3000/dbconfig/sipwise_cnf?password=${password}"
-    logit "Copying sipwise.cnf to /mnt/glusterfs/shared_config"
-    chroot $TARGET cp /etc/mysql/sipwise.cnf /mnt/glusterfs/shared_config/sipwise.cnf
-
-    logit "Sync constants"
-    chroot $TARGET ngcp-sync-constants -r
+  if "$PRO_EDITION" ; then
+    # set variable to have the *other* node from the PRO setup available for ngcp-network
+    case $ROLE in
+      sp1)
+        logit "Role matching sp1"
+        if [ -n "$TARGET_HOSTNAME" ] && [[ "$TARGET_HOSTNAME" == *a ]] ; then # usually carrier env
+          logit "Target hostname is set and ends with 'a'"
+          THIS_HOST="$TARGET_HOSTNAME"
+          PEER="${TARGET_HOSTNAME%a}b"
+        else # usually PRO env
+          logit "Target hostname is not set or does not end with 'a'"
+          THIS_HOST="$ROLE"
+          PEER=sp2
+        fi
+        ;;
+      sp2)
+        logit "Role matching sp2"
+        if [ -n "$TARGET_HOSTNAME" ] && [[ "$TARGET_HOSTNAME" == *b ]] ; then # usually carrier env
+          THIS_HOST="$TARGET_HOSTNAME"
+          PEER="${TARGET_HOSTNAME%b}a"
+        else # usually PRO env
+          logit "Target hostname is not set or does not end with 'b'"
+          THIS_HOST="$ROLE"
+          PEER=sp1
+        fi
+        ;;
+      *)
+        logit "Using unsupported role: $ROLE"
+        ;;
+    esac
+  fi
 
-    chroot $TARGET ngcpcfg commit 'get network|config|constants yaml [via deployment process]'
-    chroot $TARGET ngcpcfg build
-    chroot $TARGET ngcpcfg push --shared-only
+  if "$RETRIEVE_MGMT_CONFIG" ; then
+    if [ "$ROLE" = "sp1" ] ; then
+      password=sipwise
+
+      logit "Retrieving config.yml from management server"
+      wget --timeout=30 -O "${TARGET}"/etc/ngcp-config/config.yml "${MANAGEMENT_IP}:3000/yml/config/$(cat ${TARGET}/etc/hostname)"
+      logit "Copying config.yml to /mnt/glusterfs/shared_config"
+      chroot $TARGET cp /etc/ngcp-config/config.yml /mnt/glusterfs/shared_config/config.yml
+
+      logit "Retrieving constants.yml from management server"
+      wget --timeout=30 -O "${TARGET}"/etc/ngcp-config/constants.yml "${MANAGEMENT_IP}:3000/yml/constants/$(cat ${TARGET}/etc/hostname)"
+      logit "Copying constants.yml to /mnt/glusterfs/shared_config"
+      chroot $TARGET cp /etc/ngcp-config/constants.yml /mnt/glusterfs/shared_config/constants.yml
+
+      logit "Retrieving network.yml from management server"
+      wget --timeout=30 -O "${TARGET}"/etc/ngcp-config/network.yml "${MANAGEMENT_IP}:3000/yml/network/$(cat ${TARGET}/etc/hostname)"
+
+      logit "Retrieving sipwise.cnf from management server (using password ${password})"
+      wget --timeout=30 -O "${TARGET}"/etc/mysql/sipwise.cnf "${MANAGEMENT_IP}:3000/dbconfig/sipwise_cnf?password=${password}"
+      logit "Copying sipwise.cnf to /mnt/glusterfs/shared_config"
+      chroot $TARGET cp /etc/mysql/sipwise.cnf /mnt/glusterfs/shared_config/sipwise.cnf
+
+      logit "Sync constants"
+      chroot $TARGET ngcp-sync-constants -r
+
+      # use --no-db-sync only if supported by ngcp[cfg] version
+      if chroot $TARGET grep -q -- --no-db-sync /usr/sbin/ngcpcfg ; then
+        chroot $TARGET ngcpcfg --no-db-sync commit 'get network|config|constants yaml [via deployment process]'
+        chroot $TARGET ngcpcfg build --no-db-sync
+        chroot $TARGET ngcpcfg push --no-db-sync --shared-only
+      else
+        chroot $TARGET ngcpcfg commit 'get network|config|constants yaml [via deployment process]'
+        chroot $TARGET ngcpcfg build
+        chroot $TARGET ngcpcfg push --shared-only
+      fi
+    else # ROLE = sp2
+      # make sure login from second node to first node works
+      chroot $TARGET ssh-keyscan $PEER >> ~/.ssh/known_hosts
+
+      # live system uses a different SSH host key than the finally installed
+      # system, so do NOT use ssh-keyscan here
+      chroot $TARGET tail -1 ~/.ssh/known_hosts | sed "s/\w* /$THIS_HOST /" >> ~/.ssh/known_hosts
+      chroot $TARGET tail -1 ~/.ssh/known_hosts | sed "s/\w* /$MANAGEMENT_IP /" >> ~/.ssh/known_hosts
+      chroot $TARGET scp ~/.ssh/known_hosts $PEER:~/.ssh/known_hosts
+    fi
   fi
 
   case "$CROLE" in
@@ -1661,36 +1711,6 @@ fi
 if "$RETRIEVE_MGMT_CONFIG" ; then
   echo "Nothing to do (RETRIEVE_MGMT_CONFIG is set), network.yml was already set up."
 elif "$PRO_EDITION" ; then
-  # set variable to have the *other* node from the PRO setup available for ngcp-network
-  case $ROLE in
-    sp1)
-      logit "Role matching sp1"
-      if [ -n "$TARGET_HOSTNAME" ] && [[ "$TARGET_HOSTNAME" == *a ]] ; then # usually carrier env
-	logit "Target hostname is set and ends with 'a'"
-	THIS_HOST="$TARGET_HOSTNAME"
-	PEER="${TARGET_HOSTNAME%a}b"
-      else # usually PRO env
-	logit "Target hostname is not set or does not end with 'a'"
-	THIS_HOST="$ROLE"
-	PEER=sp2
-      fi
-      ;;
-    sp2)
-      logit "Role matching sp2"
-      if [ -n "$TARGET_HOSTNAME" ] && [[ "$TARGET_HOSTNAME" == *b ]] ; then # usually carrier env
-	THIS_HOST="$TARGET_HOSTNAME"
-	PEER="${TARGET_HOSTNAME%b}a"
-      else # usually PRO env
-	logit "Target hostname is not set or does not end with 'b'"
-	THIS_HOST="$ROLE"
-	PEER=sp1
-      fi
-      ;;
-    *)
-      logit "Using unsupported role: $ROLE"
-      ;;
-  esac
-
   # get list of available network devices (excl. some known-to-be-irrelevant ones, also see MT#8297)
   net_devices=$(tail -n +3 /proc/net/dev | awk -F: '{print $1}'| sed "s/\s*//" | grep -ve '^vmnet' -ve '^vboxnet' -ve '^docker' -ve '^usb' | sort -u)