diff --git a/Common/src/com/googlecode/android_scripting/facade/wifi/WifiManagerFacade.java b/Common/src/com/googlecode/android_scripting/facade/wifi/WifiManagerFacade.java
index 99ef3f2..d182190 100755
--- a/Common/src/com/googlecode/android_scripting/facade/wifi/WifiManagerFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/wifi/WifiManagerFacade.java
@@ -205,18 +205,10 @@
                 // If network info is of type wifi, send wifi events.
                 if (nInfo.getType() == ConnectivityManager.TYPE_WIFI) {
                     if (wInfo != null && nInfo.getDetailedState().equals(DetailedState.CONNECTED)) {
-                        Bundle msg = new Bundle();
-                        String ssid = wInfo.getSSID();
-                        if (ssid.charAt(0) == '"' && ssid.charAt(ssid.length() - 1) == '"') {
-                            msg.putString("SSID", ssid.substring(1, ssid.length() - 1));
-                        } else {
-                            msg.putString("SSID", ssid);
-                        }
                         String bssid = wInfo.getBSSID();
-                        msg.putString("bssid", bssid);
                         if (bssid != null && !mCachedWifiInfo.equals(wInfo.toString())) {
                             Log.d("WifiNetworkConnected");
-                            mEventFacade.postEvent("WifiNetworkConnected", msg);
+                            mEventFacade.postEvent("WifiNetworkConnected", wInfo);
                         }
                         mCachedWifiInfo = wInfo.toString();
                     } else {
