diff -pr -u8 epiphany-browser-orig/lib/history/ephy-history-service.c epiphany-browser-3.4.2/lib/history/ephy-history-service.c
--- epiphany-browser-orig/lib/history/ephy-history-service.c	2012-12-27 15:42:56.478406326 +0100
+++ epiphany-browser-3.4.2/lib/history/ephy-history-service.c	2012-12-27 15:44:06.958409578 +0100
@@ -183,18 +183,19 @@ ephy_history_service_class_init (EphyHis
   g_type_class_add_private (gobject_class, sizeof (EphyHistoryServicePrivate));
 }
 
 static void
 ephy_history_service_init (EphyHistoryService *self)
 {
   self->priv = EPHY_HISTORY_SERVICE_GET_PRIVATE (self);
 
-  self->priv->history_thread = g_thread_new ("EphyHistoryService", (GThreadFunc) run_history_service_thread, self);
+  self->priv->history_thread = NULL;
   self->priv->queue = g_async_queue_new ();
+  g_thread_new ("EphyHistoryService", (GThreadFunc) run_history_service_thread, self);
 }
 
 EphyHistoryService *
 ephy_history_service_new (const char *history_filename)
 {
   return EPHY_HISTORY_SERVICE (g_object_new (EPHY_TYPE_HISTORY_SERVICE,
                                              "history-filename", history_filename,
                                               NULL));
@@ -355,17 +356,17 @@ ephy_history_service_execute_quit (EphyH
 }
 
 static gpointer
 run_history_service_thread (EphyHistoryService *self)
 {
   EphyHistoryServicePrivate *priv = self->priv;
   EphyHistoryServiceMessage *message;
 
-  g_assert (priv->history_thread == g_thread_self ());
+  priv->history_thread = g_thread_self ();
 
   if (ephy_history_service_open_database_connections (self) == FALSE)
     return NULL;
 
   do {
     message = g_async_queue_try_pop (priv->queue);
     if (!message) {
       /* Schedule commit if needed. */


Signed-off-by: Stephan Schreiber <info@fs-driver.org>
