diff --git securesite.inc securesite.inc
index cd28b1f..c435320 100644
--- securesite.inc
+++ securesite.inc
@@ -275,6 +275,16 @@ function _securesite_forced() {
     return FALSE;
   }
   else {
+    // Load the menu-item and check if there are modules that
+    // want to bypass securesite.
+    $menu_item = menu_get_item($_GET['q']);
+    $modules = module_implements('bypass_secure_site');
+    foreach ($modules as $module) {
+      if (call_user_func($module . '_bypass_secure_site', $_GET['q'], $menu_item)) {
+        return FALSE;
+      }
+    }
+
     switch (variable_get('securesite_enabled', SECURESITE_DISABLED)) {
       case SECURESITE_ALWAYS:
         return TRUE;
