diff --git components/email.inc components/email.inc
index 051721f..4ffbb72 100644
--- components/email.inc
+++ components/email.inc
@@ -18,7 +18,8 @@ function _webform_defaults_email() {
     'mandatory' => 0,
     'extra' => array(
       'width' => '',
-      'unique' => 0,
+      'unique' => 0,
+      'unique_msg' => '',
       'disabled' => 0,
       'title_display' => 0,
       'description' => '',
@@ -89,6 +90,15 @@ function _webform_edit_email($component) {
     '#default_value' => $component['extra']['unique'],
     '#parents' => array('extra', 'unique'),
   );
+  $form['validation']['unique_msg'] = array(
+    '#type' => 'textfield',
+    '#title' => t("Error message if the value isn't unique"),
+    '#default_value' => $component['extra']['unique_msg'],
+    '#description' => t("Error message if the value isn't unique, you can use the placeholders %value and %title") . ' ' . t('Leaving blank will use the default message.'),
+    '#weight' => 2,
+    '#size' => 60,
+    '#parents' => array('extra', 'unique_msg'),
+  );
   return $form;
 }
 
diff --git components/textfield.inc components/textfield.inc
index 03f3636..4a4d52c 100644
--- components/textfield.inc
+++ components/textfield.inc
@@ -23,6 +23,7 @@ function _webform_defaults_textfield() {
       'field_suffix' => '',
       'disabled' => 0,
       'unique' => 0,
+      'unique_msg' => '',
       'title_display' => 0,
       'description' => '',
       'attributes' => array(),
@@ -103,6 +104,15 @@ function _webform_edit_textfield($component) {
     '#default_value' => $component['extra']['unique'],
     '#parents' => array('extra', 'unique'),
   );
+  $form['validation']['unique_msg'] = array(
+    '#type' => 'textfield',
+    '#title' => t("Error message if the value isn't unique"),
+    '#default_value' => $component['extra']['unique_msg'],
+    '#description' => t("Error message if the value isn't unique, you can use the placeholders %value and %title") . ' ' . t('Leaving blank will use the default message.'),
+    '#weight' => 2,
+    '#size' => 60,
+    '#parents' => array('extra', 'unique_msg'),
+  );
   $form['validation']['maxlength'] = array(
     '#type' => 'textfield',
     '#title' => t('Maxlength'),
diff --git includes/webform.components.inc includes/webform.components.inc
index 98a8d35..bab4364 100644
--- includes/webform.components.inc
+++ includes/webform.components.inc
@@ -949,7 +949,13 @@ function webform_validate_unique($element, $form_state) {
     $sid = $form_state['values']['details']['sid'];
     $count = db_result(db_query("SELECT count(*) FROM {webform_submitted_data} WHERE nid = %d AND cid = %d AND sid <> %d AND LOWER(data) = '%s'", $nid, $element['#webform_component']['cid'], $sid, $element['#value']));
     if ($count) {
-      form_error($element, t('The value %value has already been submitted once for the %title field. You may have already submitted this form, or you need to use a different value.', array('%value' => $element['#value'], '%title' => $element['#title'])));
+      if (isset($element['#webform_component']['extra']['unique_msg']) && !empty($element['#webform_component']['extra']['unique_msg'])) {
+        form_error($element, t($element['#webform_component']['extra']['unique_msg'], array('%value' => $element['#value'], '%title' => $element['#title'])));
+      }
+      else {
+        form_error($element, t('The value %value has already been submitted once for the %title field. You may have already submitted this form, or you need to use a different value.', array('%value' => $element['#value'], '%title' => $element['#title'])));
+      }
     }
   }
 }
