diff --git a/scripts/policy/drools-pdp-script.sh b/scripts/policy/drools-pdp-script.sh
index 0a128fa..fc8556f 100755
--- a/scripts/policy/drools-pdp-script.sh
+++ b/scripts/policy/drools-pdp-script.sh
@@ -1,6 +1,6 @@
-#!/bin/bash
+#!/bin/bash -x
 #
-# Copyright 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright 2017-2019 AT&T Intellectual Property. All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -159,25 +159,72 @@
 
 netstat -tnl
 
-docker logs mariadb
 ${DIR}/wait_for_port.sh ${MARIADB_IP} 3306
+rc=$?
+if [[ $rc != 0 ]]; then
+	echo "cannot open ${MARIADB_IP} 3306"
+	telnet ${MARIADB_IP} 3306 < /dev/null
+	nc -vz ${MARIADB_IP} 3306
+	docker logs mariadb
+	exit $rc
+fi
 
-docker logs pap
-${DIR}/wait_for_port.sh ${PAP_IP} 9091
-
-docker logs pdp
-${DIR}/wait_for_port.sh ${PDP_IP} 8081
-
-docker logs brmsgw
-${DIR}/wait_for_port.sh ${BRMS_IP} 9989
-
-docker logs nexus
 ${DIR}/wait_for_port.sh ${NEXUS_IP} 8081
+rc=$?
+if [[ $rc != 0 ]]; then
+	echo "cannot open ${NEXUS_IP} 8081"
+	telnet ${NEXUS_IP} 8081 < /dev/null
+	nc -vz ${NEXUS_IP} 8081
+	docker logs nexus
+	exit $rc
+fi
+
+${DIR}/wait_for_port.sh ${POLICY_IP} 9696
+rc=$?
+if [[ $rc != 0 ]]; then
+	echo "cannot open ${POLICY_IP} 9696"
+	telnet ${POLICY_IP} 9696 < /dev/null
+	nc -vz ${POLICY_IP} 9696
+	docker logs drools
+	exit $rc
+fi
+
+${DIR}/wait_for_port.sh ${PAP_IP} 9091
+rc=$?
+if [[ $rc != 0 ]]; then
+	echo "cannot open ${PAP_IP} 9091"
+	telnet ${PAP_IP} 9091 < /dev/null
+	nc -vz ${PAP_IP} 9091
+	docker logs pap
+	exit $rc
+fi
+
+${DIR}/wait_for_port.sh ${PDP_IP} 8081
+rc=$?
+if [[ $rc != 0 ]]; then
+	echo "cannot open ${PDP_IP} 8081"
+	telnet ${PDP_IP} 8081 < /dev/null
+	nc -vz ${PDP_IP} 8081
+	docker logs pdp
+	exit $rc
+fi
+
+${DIR}/wait_for_port.sh ${BRMS_IP} 9989
+rc=$?
+if [[ $rc != 0 ]]; then
+	echo "cannot open ${BRMS_IP} 9989"
+	telnet ${BRMS_IP} 9989" < /dev/null
+	nc -vz ${BRMS_IP} 9989"
+	docker logs brmsgw
+	exit $rc
+fi
 
 docker logs drools
-${DIR}/wait_for_port.sh ${POLICY_IP} 9696
+docker logs pap
+docker logs pdp
+docker logs brmsgw
 
-TIME_OUT=600
+TIME_OUT=300
 INTERVAL=20 
 TIME=0 
 while [ "$TIME" -lt "$TIME_OUT" ]; do 
@@ -189,19 +236,6 @@
 	
 done
 
-TIME_OUT=600
-INTERVAL=20 
-TIME=0 
-while [ "$TIME" -lt "$TIME_OUT" ]; do 
-	
-	curl -k -i -v -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -d '{"policyName": ".*"}' https://${PDP_IP}:8081/pdp/api/getConfig && break
-	
-echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds 
-  sleep $INTERVAL 
-  TIME=$(($TIME+$INTERVAL))
-	
-done
-
 #
 # Add more sleep for everything to settle
 #
diff --git a/scripts/policy/engine.sh b/scripts/policy/engine.sh
index b806cec..ef02be5 100755
--- a/scripts/policy/engine.sh
+++ b/scripts/policy/engine.sh
@@ -1,6 +1,6 @@
-#!/bin/bash
+#!/bin/bash -x
 #
-# Copyright 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright 2017-2019 AT&T Intellectual Property. All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -159,25 +159,77 @@
 
 netstat -tnl
 
-docker logs mariadb
 ${DIR}/wait_for_port.sh ${MARIADB_IP} 3306
+rc=$?
+if [[ $rc != 0 ]]; then
+        echo "cannot open ${MARIADB_IP} 3306"
+        telnet ${MARIADB_IP} 3306 < /dev/null
+        nc -vz ${MARIADB_IP} 3306
+        docker logs mariadb
+        exit $rc
+fi
 
-docker logs pap
-${DIR}/wait_for_port.sh ${PAP_IP} 9091
-
-docker logs pdp
-${DIR}/wait_for_port.sh ${PDP_IP} 8081
-
-docker logs brmsgw
-${DIR}/wait_for_port.sh ${BRMS_IP} 9989
-
-docker logs nexus
 ${DIR}/wait_for_port.sh ${NEXUS_IP} 8081
+rc=$?
+if [[ $rc != 0 ]]; then
+        echo "cannot open ${NEXUS_IP} 8081"
+	netstat -tnl
+        telnet ${NEXUS_IP} 8081 < /dev/null
+        nc -vz ${NEXUS_IP} 8081
+        docker logs nexus
+        exit $rc
+fi
+
+${DIR}/wait_for_port.sh ${POLICY_IP} 9696
+rc=$?
+if [[ $rc != 0 ]]; then
+        echo "cannot open ${POLICY_IP} 9696"
+	netstat -tnl
+        telnet ${POLICY_IP} 9696 < /dev/null
+        nc -vz ${POLICY_IP} 9696
+        docker logs drools
+        exit $rc
+fi
+
+${DIR}/wait_for_port.sh ${PAP_IP} 9091
+rc=$?
+if [[ $rc != 0 ]]; then
+        echo "cannot open ${PAP_IP} 9091"
+	netstat -tnl
+        telnet ${PAP_IP} 9091 < /dev/null
+        nc -vz ${PAP_IP} 9091
+        docker logs pap
+        exit $rc
+fi
+
+${DIR}/wait_for_port.sh ${PDP_IP} 8081
+rc=$?
+if [[ $rc != 0 ]]; then
+        echo "cannot open ${PDP_IP} 8081"
+	netstat -tnl
+        telnet ${PDP_IP} 8081 < /dev/null
+        nc -vz ${PDP_IP} 8081
+        docker logs pdp
+        exit $rc
+fi
+
+${DIR}/wait_for_port.sh ${BRMS_IP} 9989
+rc=$?
+if [[ $rc != 0 ]]; then
+        echo "cannot open ${BRMS_IP} 9989"
+	netstat -tnl
+        telnet ${BRMS_IP} 9989" < /dev/null
+        nc -vz ${BRMS_IP} 9989"
+        docker logs brmsgw
+        exit $rc
+fi
 
 docker logs drools
-${DIR}/wait_for_port.sh ${POLICY_IP} 6969
+docker logs pap
+docker logs pdp
+docker logs brmsgw
 
-TIME_OUT=600
+TIME_OUT=300
 INTERVAL=20 
 TIME=0 
 while [ "$TIME" -lt "$TIME_OUT" ]; do 
@@ -189,7 +241,7 @@
 	
 done
 
-TIME_OUT=600
+TIME_OUT=300
 INTERVAL=20 
 TIME=0 
 while [ "$TIME" -lt "$TIME_OUT" ]; do 
diff --git a/scripts/policy/wait_for_port.sh b/scripts/policy/wait_for_port.sh
index 10f08de..58bf25d 100755
--- a/scripts/policy/wait_for_port.sh
+++ b/scripts/policy/wait_for_port.sh
@@ -5,14 +5,17 @@
 	exit 1
 fi
 
-host=$1
-port=$2
+export host=$1
+export port=$2
 
 echo "Waiting for $host port $port open"
-until telnet $host $port </dev/null 2>/dev/null | grep -q '^Connected'; do
-	sleep 1
-done
+timeout 120 bash -c 'until nc -vz "$host" "$port"; do echo -n "."; sleep 1; done'
+rc=$?
+
+if [[ $rc != 0 ]]; then
+        echo "$host port $port cannot be reached"
+        exit $rc
+fi
 
 echo "$host port $port is open"
-
 exit 0
