diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index 05b172bea14a1e565541561a73746b8a1258f023..0728aaf8cfcc5eb10cbea38603511b1067a17da1 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -590,7 +590,14 @@ function request_uri() {
  */
 function watchdog($type, $message, $severity = WATCHDOG_NOTICE, $link = NULL) {
   global $user;
+
+  $current_db = db_set_active();
+
   db_query("INSERT INTO {watchdog} (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (%d, '%s', '%s', %d, '%s', '%s', '%s', '%s', %d)", $user->uid, $type, $message, $severity, $link, request_uri(), referer_uri(), $_SERVER['REMOTE_ADDR'], time());
+
+  if ($current_db) {
+    db_set_active($current_db);
+  }
 }
 
 /**
diff --git a/includes/database.inc b/includes/database.inc
index 5d58feff92d6295d67b825f5eb8ae66119eb3d59..d2992dc8b3a8cd7425744a4f12f51979e9af1b5a 100644
--- a/includes/database.inc
+++ b/includes/database.inc
@@ -95,6 +95,8 @@ function db_prefix_tables($sql) {
  * @param $name
  *   The name assigned to the newly active database connection. If omitted, the
  *   default connection will be made active.
+ *
+ * @return the name of the 
  */
 function db_set_active($name = 'default') {
   global $db_url, $db_type, $active_db;
@@ -110,7 +112,7 @@ function db_set_active($name = 'default') {
     }
 
     $db_type = substr($connect_url, 0, strpos($connect_url, '://'));
-   $handler = "./includes/database.$db_type.inc";
+    $handler = "./includes/database.$db_type.inc";
 
     if (is_file($handler)) {
       include_once $handler;
@@ -124,10 +126,13 @@ function db_set_active($name = 'default') {
     }
 
     $db_conns[$name] = db_connect($connect_url);
-
   }
+
+  $previous_db = $active_db;
   // Set the active connection.
   $active_db = $db_conns[$name];
+
+  return array_search($previousdb, $db_conns);
 }
 
 /**