diff -ur gnome-main-menu-0.9.15/main-menu/src/network-status-agent.c gnome-main-menu-0.9.15-nm09/main-menu/src/network-status-agent.c
--- gnome-main-menu-0.9.15/main-menu/src/network-status-agent.c	2010-05-21 12:36:38.000000000 +0200
+++ gnome-main-menu-0.9.15-nm09/main-menu/src/network-status-agent.c	2011-03-18 12:38:39.924050112 +0100
@@ -25,8 +25,13 @@
 #include <NetworkManager.h>
 #include <nm-device-wifi.h>
 #include <nm-device-ethernet.h>
+#if (NM_CHECK_VERSION (0,8,992))
+#include <libnm-glib/nm-device-modem.h>
+#include <libnm-glib/nm-device-wimax.h>
+#else
 #include <nm-gsm-device.h>
 #include <nm-cdma-device.h>
+#endif
 #include <nm-setting-ip4-config.h>
 #include <nm-utils.h>
 #include <arpa/inet.h>
@@ -242,7 +247,7 @@
 		NMAccessPoint * activeap = NULL;
 		const GByteArray * ssid;
 
-		info->type = DEVICE_TYPE_802_11_WIRELESS;
+		info->type = NM_DEVICE_TYPE_WIFI;
 		info->speed_mbs = nm_device_wifi_get_bitrate (NM_DEVICE_WIFI(device));
 		info->hw_addr = g_strdup (nm_device_wifi_get_hw_address (NM_DEVICE_WIFI(device)));
 
@@ -259,22 +264,31 @@
 	}
 	else if (NM_IS_DEVICE_ETHERNET (device))
 	{
-		info->type = DEVICE_TYPE_802_3_ETHERNET;
+		info->type = NM_DEVICE_TYPE_ETHERNET;
 		info->speed_mbs = nm_device_ethernet_get_speed (NM_DEVICE_ETHERNET(device));
 		info->hw_addr = g_strdup (nm_device_ethernet_get_hw_address (NM_DEVICE_ETHERNET(device)));
 	}
+#if (NM_CHECK_VERSION (0,8,992))
+	else if (NM_IS_DEVICE_MODEM (device))
+	{
+		info->type = NM_DEVICE_TYPE_MODEM;
+		info->speed_mbs = 0;
+		info->hw_addr = NULL;
+	}
+#else
 	else if (NM_IS_GSM_DEVICE (device))
 	{
-		info->type = DEVICE_TYPE_GSM;
+		info->type = NM_DEVICE_TYPE_GSM;
 		info->speed_mbs = 0;
 		info->hw_addr = NULL;
 	}
 	else if (NM_IS_CDMA_DEVICE (device))
 	{
-		info->type = DEVICE_TYPE_CDMA;
+		info->type = NM_DEVICE_TYPE_CDMA;
 		info->speed_mbs = 0;
 		info->hw_addr = NULL;
 	}
+#endif
 
 	return info;
 }
@@ -340,7 +354,7 @@
 
 			if (ret >= 0)
 			{
-				info->type = DEVICE_TYPE_802_11_WIRELESS;
+				info->type = NM_DEVICE_TYPE_WIFI;
 				info->essid = g_strdup (wl_cfg.essid);
 				info->iface = g_strdup (networks[i]);
 
@@ -348,7 +362,7 @@
 			}
 			else
 			{
-				info->type = DEVICE_TYPE_802_3_ETHERNET;
+				info->type = NM_DEVICE_TYPE_ETHERNET;
 				info->essid = NULL;
 				info->iface = g_strdup (networks[i]);
 
diff -ur gnome-main-menu-0.9.15/main-menu/src/network-status-info.c gnome-main-menu-0.9.15-nm09/main-menu/src/network-status-info.c
--- gnome-main-menu-0.9.15/main-menu/src/network-status-info.c	2010-05-21 12:19:29.000000000 +0200
+++ gnome-main-menu-0.9.15-nm09/main-menu/src/network-status-info.c	2011-03-18 11:59:26.145493769 +0100
@@ -35,7 +35,7 @@
 network_status_info_init (NetworkStatusInfo * info)
 {
 	info->active = FALSE;
-	info->type = DEVICE_TYPE_UNKNOWN;
+	info->type = NM_DEVICE_TYPE_UNKNOWN;
 	info->iface = NULL;
 	info->essid = NULL;
 
diff -ur gnome-main-menu-0.9.15/main-menu/src/network-status-info.h gnome-main-menu-0.9.15-nm09/main-menu/src/network-status-info.h
--- gnome-main-menu-0.9.15/main-menu/src/network-status-info.h	2010-05-21 12:19:29.000000000 +0200
+++ gnome-main-menu-0.9.15-nm09/main-menu/src/network-status-info.h	2011-03-18 12:21:00.590539170 +0100
@@ -24,6 +24,10 @@
 #include <glib-object.h>
 #include <NetworkManager.h>
 
+#ifndef NM_CHECK_VERSION
+#define NM_CHECK_VERSION(x,y,z) (0)
+#endif
+
 G_BEGIN_DECLS
 
 #define NETWORK_STATUS_INFO_TYPE         (network_status_info_get_type ())
diff -ur gnome-main-menu-0.9.15/main-menu/src/network-status-tile.c gnome-main-menu-0.9.15-nm09/main-menu/src/network-status-tile.c
--- gnome-main-menu-0.9.15/main-menu/src/network-status-tile.c	2010-05-21 12:36:08.000000000 +0200
+++ gnome-main-menu-0.9.15-nm09/main-menu/src/network-status-tile.c	2011-03-18 12:48:30.222846691 +0100
@@ -209,7 +209,7 @@
 	{
 		switch (priv->status_info->type)
 		{
-		case DEVICE_TYPE_802_11_WIRELESS:
+		case NM_DEVICE_TYPE_WIFI:
 			markup = g_strdup_printf (_("Connected to: %s"), priv->status_info->essid);
 
 			icon_name = "nm-device-wireless";
@@ -217,7 +217,7 @@
 			subheader_text = markup;
 			break;
 
-		case DEVICE_TYPE_802_3_ETHERNET:
+		case NM_DEVICE_TYPE_ETHERNET:
 			markup = g_strdup_printf (_("Using ethernet (%s)"),
 				priv->status_info->iface);
 
@@ -226,19 +226,16 @@
 			subheader_text = markup;
 			break;
 
+#if (NM_CHECK_VERSION (0,8,992))
+		case NM_DEVICE_TYPE_MODEM:
+#else
 		case DEVICE_TYPE_GSM:
-			markup = g_strdup_printf (_("Connected to: %s"), priv->status_info->iface);
-
-			icon_name = "nm-device-wireless";
-			header_text = _("Networ_k: GSM");
-			subheader_text = markup;
-			break;
-
 		case DEVICE_TYPE_CDMA:
+#endif		
 			markup = g_strdup_printf (_("Connected to: %s"), priv->status_info->iface);
 
 			icon_name = "nm-device-wireless";
-			header_text = _("Networ_k: CDMA");
+			header_text = _("Networ_k: Dial-Up");
 			subheader_text = markup;
 			break;
 
@@ -339,22 +336,22 @@
 
 	switch (priv->status_info->type)
 	{
-	case DEVICE_TYPE_802_11_WIRELESS:
+	case NM_DEVICE_TYPE_WIFI:
 		iface_and_type =
 			g_strdup_printf (_("Wireless Ethernet (%s)"), priv->status_info->iface);
 		break;
 
-	case DEVICE_TYPE_802_3_ETHERNET:
+	case NM_DEVICE_TYPE_ETHERNET:
 		iface_and_type =
 			g_strdup_printf (_("Wired Ethernet (%s)"), priv->status_info->iface);
 		break;
 
+#if (NM_CHECK_VERSION (0,8,992))
+	case NM_DEVICE_TYPE_MODEM:
+#else
 	case DEVICE_TYPE_GSM:
-		iface_and_type =
-			g_strdup_printf (_("Mobile Ethernet (%s)"), priv->status_info->iface);
-		break;
-
 	case DEVICE_TYPE_CDMA:
+#endif
 		iface_and_type =
 			g_strdup_printf (_("Mobile Ethernet (%s)"), priv->status_info->iface);
 		break;
