diff --git a/modules/redhen_relation/includes/redhen_relation.forms.inc b/modules/redhen_relation/includes/redhen_relation.forms.inc
index 60afbf0..268dc96 100644
--- a/modules/redhen_relation/includes/redhen_relation.forms.inc
+++ b/modules/redhen_relation/includes/redhen_relation.forms.inc
@@ -88,7 +88,8 @@ function redhen_relation_connection_form($form, &$form_state, $entity) {
   $form['fields']['entity_to_relate'] = array(
     '#title' => $plural_label,
     '#type' => 'textfield',
-    '#required' => TRUE,
+    '#required' => ($active_relation_type->min_arity == 1) ? FALSE : TRUE,
+    '#access' => ($active_relation_type->max_arity == 1) ? FALSE : TRUE,
     '#autocomplete_path' => 'redhen/relation/autocomplete/' . $relation->relation_type . '/' . $entity_type_to_relate . '/' . $entity->entityType() . '/' . $entity->internalIdentifier(),
   );
 
@@ -123,11 +124,13 @@ function redhen_relation_connection_form_validate($form, &$form_state) {
     $entity = $form_state['entity'];
     $relation = $form_state['relation'];
 
+    // Load the relation information, to determine arity.
+    $relation_type = relation_type_load($form_state['values']['relation_type']);
+
     // parse out the entity id from the autocomplete string
     preg_match('/(.+) \((\d+)\)$/', $form_state['values']['entity_to_relate'], $matches);
 
     if (isset($matches[2]) && ($matches[2] > 0)) {
-      $relation_type = relation_type_load($form_state['values']['relation_type']);
       list($src_relation_entity_type) = explode(":", $relation_type->source_bundles[0]);
 
       // ensure source/target order are correct
@@ -158,6 +161,15 @@ function redhen_relation_connection_form_validate($form, &$form_state) {
 
       $form_state['values']['endpoints'][LANGUAGE_NONE] = $endpoints;
     }
+    else if ($relation_type->min_arity == 1 && empty($form_state['values']['entity_to_relate'])) {
+      $endpoints = array(
+        array(
+          'entity_type' => $entity->entityType(),
+          'entity_id' => $entity->internalIdentifier()
+        )
+      );
+      $form_state['values']['endpoints'][LANGUAGE_NONE] = $endpoints;
+    }
     else {
       form_set_error('entity_to_relate', 'Invalid connection.');
     }
diff --git a/modules/redhen_relation/redhen_relation.module b/modules/redhen_relation/redhen_relation.module
index 11b004c..c6ec4ad 100644
--- a/modules/redhen_relation/redhen_relation.module
+++ b/modules/redhen_relation/redhen_relation.module
@@ -366,8 +366,9 @@ function redhen_relation_relations($entity, $relation_type = NULL, $active = FAL
 
       $endpoints = field_get_items('relation', $relation, 'endpoints');
       foreach ($endpoints as $endpoint) {
-        // Add all entities that aren't this entity or duplicates.
-        if ($endpoint['entity_type'] == $entity->entityType() && $endpoint['entity_id'] == $entity->internalIdentifier() && $duplicate == FALSE) {
+        // Add all entities that aren't this entity or duplicates, unless the
+        // relation only has this entity as endpoint ($relation->arity = 1).
+        if ($relation->arity > 1 && $endpoint['entity_type'] == $entity->entityType() && $endpoint['entity_id'] == $entity->internalIdentifier() && $duplicate == FALSE) {
           $duplicate = TRUE;
         }
         else {
