diff --git a/modules/profile.module b/modules/profile.module
index 48c8e1aa991bd3cedf6d14515661d64ca0af2cf1..64814694e0a61c80407a75bb9e3be9dafd3802b5 100644
--- a/modules/profile.module
+++ b/modules/profile.module
@@ -660,7 +660,9 @@ function profile_form_profile($edit, $user, $category) {
         );
         break;
       case 'selection':
-        $options = array('--');
+        if (!$field->required) {
+          $options = array('--');
+        }
         $lines = split("[,\n\r]", $field->options);
         foreach ($lines as $line) {
           if ($line = trim($line)) {
diff --git a/modules/profile/profile.module b/modules/profile/profile.module
index 48c8e1aa991bd3cedf6d14515661d64ca0af2cf1..64814694e0a61c80407a75bb9e3be9dafd3802b5 100644
--- a/modules/profile/profile.module
+++ b/modules/profile/profile.module
@@ -660,7 +660,9 @@ function profile_form_profile($edit, $user, $category) {
         );
         break;
       case 'selection':
-        $options = array('--');
+        if (!$field->required) {
+          $options = array('--');
+        }
         $lines = split("[,\n\r]", $field->options);
         foreach ($lines as $line) {
           if ($line = trim($line)) {