diff --git a/secrole.module b/secrole.module
index 278d071..7675300 100644
--- a/secrole.module
+++ b/secrole.module
@@ -1,4 +1,5 @@
 <?php
+// $Id: secrole.module,v 1.3 2009/09/22 23:00:12 garrettalbright Exp $
 
 /**
  * @file
@@ -89,6 +90,11 @@ function secrole_config($form) {
       '#type' => 'checkbox',
       '#default_value' => variable_get('secrole_login', FALSE),
     ),
+    'secrole_registration' => array(
+      '#title' => t('Secure the user registration page.'),
+      '#type' => 'checkbox',
+      '#default_value' => variable_get('secrole_registration', FALSE),
+    ),
     '#submit' => array(
       'secrole_config_submit',
     ),
@@ -133,6 +139,19 @@ function secrole_form_user_login_alter(&$form, $form_state) {
 }
 
 /**
+ * Make sure the registration form page is secure
+ *
+ * If SecRole is on and the secure registration option is selected, then we want the registration
+ * form always secure.
+ */
+
+function secrole_form_user_register_alter(&$form, $form_state) {
+  if(variable_get('secrole_on', FALSE) && variable_get('secrole_registration', FALSE)  && $_SERVER['SERVER_PORT'] !== '443') {
+    _secrole_direct();
+  }
+}
+
+/**
  * Make sure the login block is on a seure page.
  *
  * If SecRole is on, we want any page with the login block on it to be secure.
