diff --git a/VERSION b/VERSION
index 5b209ea..b4d6d12 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.7.10
+0.7.11
diff --git a/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py b/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py
index bcd8b06..b769153 100755
--- a/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py
+++ b/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py
@@ -30,7 +30,9 @@
 config_file_contents = open(os.getenv('CONFIG_FILE', "./config.json")).read()
 config_file_contents = config_file_contents.replace("user_plane_ping_test", "dns")
 config_file_contents = config_file_contents.replace("speedtest_iperf", "iperf_server")
-config_file_contents = config_file_contents.replace("\"speedtest_ping_dns\": \"1.1.1.1\",", "")
+config_file_contents = config_file_contents.replace("\"speedtest_ping_dns\": \"8.8.8.8\",", "")
+# replace 1.1.1.1 with 8.8.8.8
+config_file_contents = config_file_contents.replace("\"1.1.1.1\": \"8.8.8.8\",", "")
 CONF = json.loads(
     config_file_contents, object_hook=lambda d: namedtuple('X', d.keys())(*d.values())
 )
@@ -185,7 +187,7 @@
         if dry_run_passed:
             return State.connected, dry_run_latency
         else:
-            logging.warning("User plane test failed")
+            logging.warning("Ping failed: {}".format(CONF.ips.dry_run))
             return State.disconnected, dry_run_latency
     else: # run default user plane test
         try:
@@ -194,7 +196,7 @@
                 shell=True)
             return State.connected, None
         except subprocess.CalledProcessError as e:
-            logging.warning("User plane test failed")
+            logging.warning("Ping failed: {}".format(CONF.ips.dns))
             return State.disconnected, None
 
 
