diff --git a/mock_wimax_network_proxy.h b/mock_wimax_network_proxy.h
index e54a065..d922cf2 100644
--- a/mock_wimax_network_proxy.h
+++ b/mock_wimax_network_proxy.h
@@ -22,6 +22,7 @@
   MOCK_METHOD1(Type, int(Error *error));
   MOCK_METHOD1(CINR, int(Error *error));
   MOCK_METHOD1(RSSI, int(Error *error));
+  MOCK_METHOD1(SignalStrength, int(Error *error));
 
   DISALLOW_COPY_AND_ASSIGN(MockWiMaxNetworkProxy);
 };
diff --git a/wimax_network_proxy.cc b/wimax_network_proxy.cc
index 9859d67..c0581be 100644
--- a/wimax_network_proxy.cc
+++ b/wimax_network_proxy.cc
@@ -74,6 +74,16 @@
   return 0;
 }
 
+int WiMaxNetworkProxy::SignalStrength(Error *error) {
+  SLOG(DBus, 2) << __func__;
+  try {
+    return proxy_.SignalStrength();
+  } catch (const DBus::Error &e) {
+    FromDBusError(e, error);
+  }
+  return 0;
+}
+
 // static
 void WiMaxNetworkProxy::FromDBusError(const DBus::Error &dbus_error,
                                       Error *error) {
diff --git a/wimax_network_proxy.h b/wimax_network_proxy.h
index 3902af4..d1bccc1 100644
--- a/wimax_network_proxy.h
+++ b/wimax_network_proxy.h
@@ -24,6 +24,7 @@
   virtual int Type(Error *error);
   virtual int CINR(Error *error);
   virtual int RSSI(Error *error);
+  virtual int SignalStrength(Error *error);
 
  private:
   class Proxy : public org::chromium::WiMaxManager::Network_proxy,
diff --git a/wimax_network_proxy_interface.h b/wimax_network_proxy_interface.h
index 4c82e61..3777ba6 100644
--- a/wimax_network_proxy_interface.h
+++ b/wimax_network_proxy_interface.h
@@ -28,6 +28,7 @@
   virtual int Type(Error *error) = 0;
   virtual int CINR(Error *error) = 0;
   virtual int RSSI(Error *error) = 0;
+  virtual int SignalStrength(Error *error) = 0;
 };
 
 }  // namespace shill
diff --git a/wimax_service.cc b/wimax_service.cc
index b34b5bc..588d5ab 100644
--- a/wimax_service.cc
+++ b/wimax_service.cc
@@ -67,6 +67,12 @@
     return false;
   }
 
+  int signal_strength = proxy_->SignalStrength(&error);
+  if (!error.IsSuccess()) {
+    return false;
+  }
+  SetStrength(signal_strength);
+
   set_friendly_name(network_name_);
   storage_id_ =
       StringToLowerASCII(base::StringPrintf("%s_%s_%08x_%s",
