diff --git a/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java b/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java
index 51ba2ca..1c7856f 100644
--- a/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java
+++ b/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java
@@ -75,14 +75,16 @@
     private static final int BOOKMARK_INDEX_TOUCH_ICON = 5;
     private static final int BOOKMARK_INDEX_THUMBNAIL = 7;
 
-    private Map<Integer, BookmarkFactory> mFactories;
+    // The service will likely be destroyed at any time, so we need to keep references to the
+    // factories across services connections.
+    private static final Map<Integer, BookmarkFactory> mFactories =
+            new HashMap<Integer, BookmarkFactory>();
     private Handler mUiHandler;
     private BookmarksObserver mBookmarksObserver;
 
     @Override
     public void onCreate() {
         super.onCreate();
-        mFactories = new HashMap<Integer, BookmarkFactory>();
         mUiHandler = new Handler();
         mBookmarksObserver = new BookmarksObserver(mUiHandler);
         getContentResolver().registerContentObserver(
@@ -109,6 +111,12 @@
             BookmarkFactory fac = mFactories.get(widgetId);
             if (fac != null && folderId >= 0) {
                 fac.changeFolder(folderId);
+            } else {
+                // This a workaround to the issue when the Browser process crashes, after which
+                // mFactories is not populated (due to onBind() not being called).  Calling
+                // notifyDataSetChanged() will trigger a connection to be made.
+                AppWidgetManager.getInstance(getApplicationContext())
+                    .notifyAppWidgetViewDataChanged(widgetId, R.id.bookmarks_list);
             }
         }
         return START_STICKY;
