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 09:30:16 2006
@@ -53,11 +53,17 @@
  *
  * @param $sql
  *   A string containing a partial or entire SQL query.
+ * @param $next_id
+ *   A boolean value to determine if a simpler 
  * @return
  *   The properly-prefixed string.
  */
-function db_prefix_tables($sql) {
+function db_prefix_tables($sql, $next_id = FALSE) {
   global $db_prefix;
+
+  if ($next_id) {
+    return strtr($sql, array('{' => '', '}' => ''));
+  }
 
   if (is_array($db_prefix)) {
     if (array_key_exists('default', $db_prefix)) {
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:30:39 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);
