diff --git a/src/Application/Form/Type/LinkableType.php b/src/Application/Form/Type/LinkableType.php
index 676761038181abe0f3ea615e7d88eebaee25d91c..0e677ae3cf55463ac0a2a145844185dae2fa2b4c 100644
--- a/src/Application/Form/Type/LinkableType.php
+++ b/src/Application/Form/Type/LinkableType.php
@@ -34,7 +34,7 @@ class LinkableType extends AbstractType
             'multiple'      => true,
             'expanded'      => false,
             'by_reference'  => false,
-            'query_builder' => function (EntityRepository $er) use ($object, $orderField) {
+            'query_builder' => function (EntityRepository $er) use ($object, $orderField, $class) {
                 $collectivity = null;
                 if (!\is_null($object) && $object instanceof CollectivityRelated && !\is_null($object->getCollectivity())) {
                     $collectivity = $object->getCollectivity();
@@ -51,9 +51,15 @@ class LinkableType extends AbstractType
                 } elseif ($orderField) {
                     $qb->addOrderBy('c.' . $orderField, 'asc');
                 }
+                if ($object instanceof $class) {
+                    // self referencing, remove current object from query
+                    $qb->andWhere('c != :self')
+                        ->setParameter('self', $object)
+                    ;
+                }
                 if ($collectivity) {
                     return $qb
-                        ->where('c.collectivity = :collectivity')
+                        ->andWhere('c.collectivity = :collectivity')
                         ->setParameter('collectivity', $collectivity)
                     ;
                 }