diff -upr drupal-4.7.2/includes/database.inc ./includes/database.inc
--- drupal-4.7.2/includes/database.inc	Thu Apr 27 16:38:49 2006
+++ ./includes/database.inc	Tue Jun 13 10:37:12 2006
@@ -56,21 +56,25 @@
  * @return
  *   The properly-prefixed string.
  */
-function db_prefix_tables($sql) {
+function db_prefix_tables($sql, $next_id = FALSE) {
   global $db_prefix;
 
   if (is_array($db_prefix)) {
     if (array_key_exists('default', $db_prefix)) {
-      $tmp = $db_prefix;
-      unset($tmp['default']);
-      foreach ($tmp as $key => $val) {
-        $sql = strtr($sql, array('{'. $key. '}' => $val. $key));
+      if (!$next_id) {
+        $tmp = $db_prefix;
+        unset($tmp['default']);
+        foreach ($tmp as $key => $val) {
+          $sql = strtr($sql, array('{'. $key. '}' => $val. $key));
+        }
       }
       return strtr($sql, array('{' => $db_prefix['default'], '}' => ''));
     }
     else {
-      foreach ($db_prefix as $key => $val) {
-        $sql = strtr($sql, array('{'. $key. '}' => $val. $key));
+      if (!$next_id) {
+        foreach ($db_prefix as $key => $val) {
+          $sql = strtr($sql, array('{'. $key. '}' => $val. $key));
+        }
       }
       return strtr($sql, array('{' => '', '}' => ''));
     }
diff -upr drupal-4.7.2/includes/database.mysql.inc ./includes/database.mysql.inc
--- drupal-4.7.2/includes/database.mysql.inc	Wed May 24 16:47:13 2006
+++ ./includes/database.mysql.inc	Tue Jun 13 09:54:32 2006
@@ -203,7 +203,7 @@ function db_error() {
  * will be created.
  */
 function db_next_id($name) {
-  $name = db_prefix_tables($name);
+  $name = db_prefix_tables($name, TRUE);
   db_query('LOCK TABLES {sequences} WRITE');
   $id = db_result(db_query("SELECT id FROM {sequences} WHERE name = '%s'", $name)) + 1;
   db_query("REPLACE INTO {sequences} VALUES ('%s', %d)", $name, $id);