--- advcontact.module
+++ advcontact.module
@@ -51,6 +51,12 @@
       '#description' => t('If selected, the additional information provided will be used to replace the default contact information provided by the contact module. Otherwise it will be appended.'),
       '#default_value' => variable_get('advcontact_replace_information', TRUE),
     );
+    $form['advcontact']['advcontact_hide_category'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Hide Category'),
+      '#description' => t('If selected, the category dropdown will be hidden when a category is preselected. Otherwise it will remain.'),
+      '#default_value' => variable_get('advcontact_hide_category', TRUE),
+    );
   }
 
   if ($form_id == 'contact_mail_page') {
@@ -58,11 +64,13 @@
       $cat = $_GET['category'];
       $cid = array_search($cat, $form['cid']['#options']);
       if ($cid) {
-        $form['cid'] = array(
-          '#type' => 'hidden',
-          '#value' => $cid,
-          '#required' => TRUE,
-        );
+        if (variable_get('advcontact_hide_category', TRUE)) {
+          $form['cid'] = array(
+            '#type' => 'hidden',
+            '#required' => TRUE,
+          );
+        }
+        $form['cid']['#value'] = $cid;
         $msg = filter_xss_admin(variable_get('advcontact_category_information', t('You can leave us a message using the contact form below regarding: @category')));
         // We have to replace it manually for those users that overide the default value.
         $msg = str_replace('@category', check_plain($cat), $msg);
