diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_portal_ids_generate_id.xml b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_portal_ids_generate_id.xml
index a1308d58fe19ead5d120555af953cafddd750af3..971aedac74eabeb6494832df9c03d61ba5b28e13 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_portal_ids_generate_id.xml
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_portal_ids_generate_id.xml
@@ -109,14 +109,13 @@ default:int=1</string> </value>
 \n
 BEGIN\n
 <dtml-var sql_delimiter>\n
-INSERT INTO\n
-  portal_ids (`id_group`, `last_id`)\n
-VALUES\n
-  (<dtml-sqlvar id_group type="string">, LAST_INSERT_ID(<dtml-sqlvar expr="default + id_count" type="int">))\n
-ON DUPLICATE KEY UPDATE\n
-  `last_id` = LAST_INSERT_ID(`last_id` + <dtml-sqlvar id_count type="int">)\n
+INSERT INTO portal_ids (`id_group`, `last_id`)\n
+ VALUES (<dtml-sqlvar id_group type="string">, <dtml-sqlvar expr="id_count + default" type="int">)\n
+ ON DUPLICATE KEY UPDATE `last_id` = `last_id` + <dtml-sqlvar id_count type="int">\n
 <dtml-var sql_delimiter>\n
-SELECT LAST_INSERT_ID()
+SELECT `last_id` AS `LAST_INSERT_ID()` FROM portal_ids\n
+ WHERE `id_group` = <dtml-sqlvar id_group type="string">\n
+
 
 ]]></string> </value>
         </item>
@@ -159,14 +158,13 @@ SELECT LAST_INSERT_ID()
 \n
 BEGIN\n
 <dtml-var sql_delimiter>\n
-INSERT INTO\n
-  portal_ids (`id_group`, `last_id`)\n
-VALUES\n
-  (<dtml-sqlvar id_group type="string">, LAST_INSERT_ID(<dtml-sqlvar expr="default + id_count" type="int">))\n
-ON DUPLICATE KEY UPDATE\n
-  `last_id` = LAST_INSERT_ID(`last_id` + <dtml-sqlvar id_count type="int">)\n
+INSERT INTO portal_ids (`id_group`, `last_id`)\n
+ VALUES (<dtml-sqlvar id_group type="string">, <dtml-sqlvar expr="id_count + default" type="int">)\n
+ ON DUPLICATE KEY UPDATE `last_id` = `last_id` + <dtml-sqlvar id_count type="int">\n
 <dtml-var sql_delimiter>\n
-SELECT LAST_INSERT_ID()
+SELECT `last_id` AS `LAST_INSERT_ID()` FROM portal_ids\n
+ WHERE `id_group` = <dtml-sqlvar id_group type="string">\n
+
 
 ]]></string> </value>
                     </item>
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
index c24b6ae77df02a87472b208f251fad88382a2e55..86ee83a4a26867a79e0a5a8948153cff8f4cf9a4 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-38
\ No newline at end of file
+40
\ No newline at end of file