Index: uc_order/uc_order.module
===================================================================
--- uc_order/uc_order.module	(revision 987)
+++ uc_order/uc_order.module	(working copy)
@@ -1452,10 +1452,10 @@ function uc_order_get_total($order, $pro
 
   $total += uc_line_items_calculate($order);
 
-  foreach (module_list() as $module) {
+  foreach (uc_modules_hooks_allowed() as $module) {
     $function = $module .'_order';
     // $order must be passed by reference.
-    if (function_exists($function) && ($value = $function('total', $order, NULL))) {
+    if ($function != 'date_order' && function_exists($function) && ($value = $function('total', $order, NULL))) {
       $total += $value;
     }
   }
@@ -1464,6 +1464,21 @@ function uc_order_get_total($order, $pro
 }
 
 /**
+ * Return modules for which Ubercart may use hooks.
+ * Dependent on the Drupal variable 'uc_ignore_modules', which is a list of
+ * modules to be ignored. Items in the list may be delimited by whitespace,
+ * commas, or semicolons.
+ * @return
+ *   array of modules which may be used.
+ */
+function uc_modules_hooks_allowed() {
+  // Ignore hooks in these modules
+  $ignore_modules = preg_split('/[\s,;]+/', variable_get('uc_ignore_modules', ""));
+  $allowed_modules = array_diff(module_list(), $ignore_modules);
+  return $allowed_modules;
+}
+
+/**
  * Calculate up an order's product count
  */
 function uc_order_get_product_count($order) {
Index: uc_order/uc_order.install
===================================================================
--- uc_order/uc_order.install	(revision 981)
+++ uc_order/uc_order.install	(working copy)
@@ -1138,3 +1138,16 @@ function uc_order_update_6014() {
 
   return $ret;
 }
+
+/**
+ * Introduce the uc_ignore_modules variable to avoid hooks we don't want.
+ */
+function uc_order_update_6015() {
+  $ret = array();
+  $uc_ignore_modules = variable_get('uc_ignore_modules','');
+  if (empty($uc_ignore_modules)) {
+    // Avoid conflict from http://drupal.org/project/611044
+    variable_set('uc_ignore_modules', "date,date_api");
+  }
+  return $ret;
+}
\ No newline at end of file
