diff --git a/includes/recurly.admin.inc b/includes/recurly.admin.inc
index 2e0231e..d833e3e 100644
--- a/includes/recurly.admin.inc
+++ b/includes/recurly.admin.inc
@@ -258,8 +258,9 @@ function recurly_settings_form($form, &$form_state) {
     '#options' => array(
       '1' => t('Single-plan mode'),
       '0' => t('Multiple-plan mode'),
+      '2' => t('Multiple-subscriptions mode'),
     ),
-    '#description' => t('Single-plan mode allows users are only one subscription at a time, preventing them from having multiple plans active at the same time. If users are allowed to sign up for more than one subscription, use Multiple-plan mode.'),
+    '#description' => t('Single-plan mode allows users are only one subscription at a time, preventing them from having multiple plans active at the same time. If users are allowed to sign up for more than one subscription, use Multiple-plan mode. If users are allowed to subscribe to a single plan multiple times, use Multiple-subscriptions mode.'),
     '#access' => count($plan_options),
     '#default_value' => variable_get('recurly_subscription_max', '1'),
     '#states' => $pages_enabled,
diff --git a/includes/recurly.pages.inc b/includes/recurly.pages.inc
index 22af586..b00521f 100644
--- a/includes/recurly.pages.inc
+++ b/includes/recurly.pages.inc
@@ -443,19 +443,23 @@ function template_preprocess_recurly_subscription_plan_select(&$variables) {
         )) : NULL,
       'selected' => FALSE,
     );
-
-    // If we have a pending subscription, make that its shown as selected rather
-    // than the current active subscription. This should allow users to switch
-    // back to a previous plan after making a pending switch to another one.
-    foreach ($subscriptions as $subscription) {
-      if (!empty($subscription->pending_subscription)) {
-        if ($subscription->pending_subscription->plan->plan_code === $plan_code) {
+    // If Multiple-subscriptions mode selected then we do not need to
+    // apply any limitations on subscription page, so let's return
+    // early without running the checks for other two modes.
+    if (variable_get('recurly_subscription_max', '1')) !== '2' {
+      // If we have a pending subscription, make that its shown as selected rather
+      // than the current active subscription. This should allow users to switch
+      // back to a previous plan after making a pending switch to another one.
+      foreach ($subscriptions as $subscription) {
+        if (!empty($subscription->pending_subscription)) {
+          if ($subscription->pending_subscription->plan->plan_code === $plan_code) {
+            $variables['filtered_plans'][$plan_code]['selected'] = TRUE;
+          }
+        }
+        elseif ($subscription->plan->plan_code === $plan_code) {
           $variables['filtered_plans'][$plan_code]['selected'] = TRUE;
         }
       }
-      elseif ($subscription->plan->plan_code === $plan_code) {
-        $variables['filtered_plans'][$plan_code]['selected'] = TRUE;
-      }
     }
   }
 
