--- /dev/null
+Based on http://liferea.git.sourceforge.net/git/gitweb.cgi?p=liferea/liferea;a=commitdiff;h=fc49ae0c9c1add55754ff5731c586b22096fbb06
+
+diff -up liferea-1.6.5/src/update.c.nm09 liferea-1.6.5/src/update.c
+--- liferea-1.6.5/src/update.c.nm09 2011-03-27 10:40:26.045331006 -0700
++++ liferea-1.6.5/src/update.c 2011-03-27 11:06:53.819481098 -0700
+@@ -589,6 +589,17 @@ update_process_finished_job (updateJobPt
+ }
+
+ #ifdef USE_NM
++static gboolean
++is_nm_connected (guint state)
++{
++ if (state == 3 || /* NM_STATE_CONNECTED */
++ state == 50 || /* NM_STATE_CONNECTED_LOCAL */
++ state == 60 || /* NM_STATE_CONNECTED_SITE */
++ state == 70) /* NM_STATE_CONNECTED_GLOBAL */
++ return TRUE;
++ return FALSE;
++}
++
+ static void
+ update_network_monitor (libnm_glib_ctx *ctx, gpointer user_data)
+ {
+@@ -600,10 +611,10 @@ update_network_monitor (libnm_glib_ctx *
+ state = libnm_glib_get_network_state (ctx);
+ online = network_is_online ();
+
+- if (online && state == LIBNM_NO_NETWORK_CONNECTION) {
++ if (online && !is_nm_connected (state)) {
+ debug0 (DEBUG_UPDATE, "network manager: no network connection -> going offline");
+ network_set_online (FALSE);
+- } else if (!online && state == LIBNM_ACTIVE_NETWORK_CONNECTION) {
++ } else if (!online && is_nm_connected (state)) {
+ debug0 (DEBUG_UPDATE, "network manager: active connection -> going online");
+ network_set_online (TRUE);
+ }