diff --git a/uc_canadapost.module b/uc_canadapost.module
index 5ce4c4e..289211f 100644
--- a/uc_canadapost.module
+++ b/uc_canadapost.module
@@ -227,6 +227,18 @@ function uc_canadapost_quote($products, $destination) {
 
     if ($response) {
       $services = variable_get('uc_canadapost_services', _uc_canadapost_service_list());
+      
+      // Construct an array containing only the services allowed by other modules
+      $module_services = module_invoke_all('shipping_method_filter', 'canadapost', $products, $services);
+
+      // Filter out services not allowed by other modules
+      foreach ($module_services as $m_services) {
+        // Check that an array with services was returned
+        if (is_array($m_services) && !empty($m_services)) {
+          // Filter out any services not allowed by modules
+          $services = array_intersect($services, $m_services);
+        }
+      }
 
 //      $context = array(
 //        'revision' => 'altered',
