diff --git a/includes/registration.field.inc b/includes/registration.field.inc
index bf1b1fe..3089436 100644
--- a/includes/registration.field.inc
+++ b/includes/registration.field.inc
@@ -264,6 +264,13 @@ function registration_field_formatter_view($entity_type, $entity, $field, $insta
             )
           );
         }
+        else {
+          if (registration_field_show_registered($entity_type, $entity)) {
+            $element[0] = array(
+              '#markup' => theme('registration_registered', array('label' => t('Already registered'))),
+            );
+          }
+        }
         break;
       case 'registration_form':
         // Enable registration link if accessible.
@@ -276,6 +283,13 @@ function registration_field_formatter_view($entity_type, $entity, $field, $insta
           ));
           $element[0] = drupal_get_form('registration_form', $registration);
         }
+        else {
+          if (registration_field_show_registered($entity_type, $entity)) {
+            $element[0] = array(
+              '#markup' => theme('registration_registered', array('label' => t('Already registered'))),
+            );
+          }
+        }
         break;
     }
   }
@@ -413,3 +427,26 @@ function _registration_menu_rebuild($instance) {
     menu_rebuild();
   }
 }
+
+/**
+ * Determine if we should show that the current user is already registered.
+ *
+ * @param string $entity_type
+ * @param object $entity
+ *
+ * @return bool
+ */
+function registration_field_show_registered($entity_type, $entity) {
+  global $user;
+
+  // Special handling for when we are, in fact, registered
+  list($entity_id) = entity_extract_ids($entity_type, $entity);
+  $registration = entity_get_controller('registration')->create(array(
+    'entity_type' => $entity_type,
+    'entity_id' => $entity_id,
+    'type' => $reg_type,
+  ));
+  $settings = registration_entity_settings($registration->entity_type, $registration->entity_id);
+  $allow_multiple = !empty($settings['settings']['multiple_registrations']) && $settings['settings']['multiple_registrations'];
+  return registration_is_registered($registration, NULL, $user->uid) && !$allow_multiple;
+}
diff --git a/registration.module b/registration.module
index 75748b1..a2ed5f9 100644
--- a/registration.module
+++ b/registration.module
@@ -907,6 +907,9 @@ function registration_theme() {
     'registration_link' => array(
       'variables' => array('label' => NULL, 'path' => NULL),
     ),
+    'registration_registered' => array(
+      'variables' => array('label' => NULL),
+    ),
     'registration_state_overview_form' => array(
       'file' => 'includes/registration.forms.inc',
       'render element' => 'form',
@@ -953,6 +956,21 @@ function theme_registration_link($variables) {
 }
 
 /**
+ * Theme handler for registration links.
+ *
+ * @param array $variables
+ *   Contains the label and path for the link.
+ */
+function theme_registration_registered($variables) {
+  $output = '';
+  $registration_label = $variables['label'];
+
+  $output .= '<div class="registration-registered">' . $registration_label . '</div>';
+
+  return $output;
+}
+
+/**
  * Implements hook_mail().
  */
 function registration_mail($key, &$message, $params) {
