--- user_titles.module	2008-12-08 14:08:57.000000000 +1100
+++ user_titles.module	2009-01-05 16:23:04.000000000 +1100
@@ -1,5 +1,5 @@
 <?php
-// $Id: user_titles.module,v 1.14.2.1 2008/12/08 03:08:57 agileware Exp $
+// $Id: user_titles.module,v 1.18 2009/01/05 05:23:04 agileware Exp $
 /** 
  * @file user_titles.module
  * Allows assignment of titles to a user based upon the number of posts the 
@@ -198,21 +198,23 @@ function theme_user_titles_settings_form
  * Validate the user titles setting form
  */
 function user_titles_settings_form_validate($form, &$form_state) {
-  $used_posts = array();
-  foreach ($form_state['values']['titles'] as $id => $title) {
-    // if no title and no value, this is a deletion and we'll skip valiation on it.
-    if (empty($title['value']) && empty($title['title'])) {
-      continue;
+  if ($form_state['values']['titles']) {
+    $used_posts = array();
+    foreach ($form_state['values']['titles'] as $id => $title) {
+      // if no title and no value, this is a deletion and we'll skip valiation on it.
+      if (empty($title['value']) && empty($title['title'])) {
+        continue;
+      }
+
+      if (!is_numeric($title['value'])) {
+        form_error($form['titles'][$id]['value'], t('Number of posts must be a number!'));
+      }
+      if (isset($used_posts[$title['value']])) {
+        form_error($form['titles'][$id]['value'], t('Number of posts must be unique per title!'));
+        form_error($form['titles'][$used_posts[$title['value']]]['value'], t('Number of posts must be unique per title!'));
+      }
+      $used_posts[$title['value']] = $id;
     }
-
-    if (!is_numeric($title['value'])) {
-      form_error($form['titles'][$id]['value'], t('Number of posts must be a number!'));
-    }
-    if (isset($used_posts[$title['value']])) {
-      form_error($form['titles'][$id]['value'], t('Number of posts must be unique per title!'));
-      form_error($form['titles'][$used_posts[$title['value']]]['value'], t('Number of posts must be unique per title!'));
-    }
-    $used_posts[$title['value']] = $id;
   }
 }
 
@@ -221,11 +223,13 @@ function user_titles_settings_form_valid
  */
 function user_titles_settings_form_submit_handler($form, &$form_state) {
   $titles = array();
-  foreach ($form_state['values']['titles'] as $id => $title) {
-    if (empty($title['value']) && empty($title['title'])) {
-      continue;
+  if ($form_state['values']['titles']) {
+    foreach ($form_state['values']['titles'] as $id => $title) {
+      if (empty($title['value']) && empty($title['title'])) {
+        continue;
+      }
+      $titles[] = $title;
     }
-    $titles[] = $title;
   }
   user_titles_set_titles($titles);
 
