diff --git a/release/docker/docker-entrypoint.sh b/release/docker/docker-entrypoint.sh
index 523c9e33ccd8a31b815fa3f1a427bf22022f6272..08db15711e766e5ce7d51683c33b65a7ffcfe058 100755
--- a/release/docker/docker-entrypoint.sh
+++ b/release/docker/docker-entrypoint.sh
@@ -121,7 +121,18 @@ else
   set -- $MAX_OLD_SPACE_SIZE "$@"
 fi
 
+# Terminate gracefully on SIGTERM by propagating it to the 'node' process
+sigterm () {
+  echo "Received SIGTERM. Terminating..." >&2
+  pkill node
+  wait %1
+}
+trap 'sigterm' TERM
+
 # Start duniter
+# Launch in background and wait
+# This way we can catch SIGTERM
 echo Starting duniter with:
 echo /usr/bin/duniter "$@"
-exec /usr/bin/duniter "$@"
+/usr/bin/duniter "$@" &
+wait %1
diff --git a/release/docker/duniter.sh b/release/docker/duniter.sh
index 7a8aab3eac6ffd0391baa3a8f70d19c9d22ea8f1..cbb338b7165e6ca5a8c42e7c74a607f54fe941fd 100755
--- a/release/docker/duniter.sh
+++ b/release/docker/duniter.sh
@@ -1,20 +1,9 @@
 #!/bin/sh
 
-# Terminate gracefully on SIGTERM by propagating it to the 'node' process
-sigterm () {
-  echo "Received SIGTERM. Terminating..." >&2
-  pkill node
-  wait %1
-}
-trap 'sigterm' TERM
-
 # Main
 cd /duniter
 if [ "$1" != --home ]; then
   set -- --home /var/lib/duniter "$@"
 fi
 
-# Launch in background and wait
-# This way we can catch SIGTERM
-bin/duniter "$@" &
-wait %1
+exec bin/duniter "$@"