diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index beedac5fe96a403506c3fde82b7f60f16f991484..2ebc800ec04b9be647cd835ae66bb0de532a562b 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -276,7 +276,8 @@ class procurement_order(osv.osv):
         @param cr: The current row, from the database cursor,
         @param uid: The current user ID for security checks
         @param ids: List of selected IDs
-        @param use_new_cursor: False or the dbname
+        @param use_new_cursor: if set, use a dedicated cursor and auto-commit after processing each procurement.
+            This is appropriate for batch jobs only.
         @param context: A standard dictionary for contextual values
         @return:  Dictionary of values
         '''
@@ -284,7 +285,7 @@ class procurement_order(osv.osv):
             context = {}
         try:
             if use_new_cursor:
-                cr = openerp.registry(use_new_cursor).cursor()
+                cr = openerp.registry(cr.dbname).cursor()
 
             # Run confirmed procurements
             while True: