diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 1bdc1d1..94c8cda 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -2155,13 +2155,25 @@
     /**
      * Test if device has an ethernet network connection.
      */
-    public static boolean hasEthernet(Context context) {
+    public boolean hasEthernet(Context context) {
         if (TEST_RADIOS) {
             return SystemProperties.get(TEST_RADIOS_PROP).contains("ethernet");
         }
 
         final ConnectivityManager conn = ConnectivityManager.from(context);
-        return conn.isNetworkSupported(TYPE_ETHERNET);
+        final boolean hasEthernet = conn.isNetworkSupported(TYPE_ETHERNET);
+
+        final long ethernetBytes;
+        try {
+            ethernetBytes = mStatsSession.getSummaryForNetwork(
+                    NetworkTemplate.buildTemplateEthernet(), Long.MIN_VALUE, Long.MAX_VALUE)
+                    .getTotalBytes();
+        } catch (RemoteException e) {
+            throw new RuntimeException(e);
+        }
+
+        // suppress ethernet unless traffic has occurred
+        return hasEthernet && ethernetBytes > 0;
     }
 
     /**
