diff --git a/Civi/DataProcessor/Source/AbstractCivicrmEntitySource.php b/Civi/DataProcessor/Source/AbstractCivicrmEntitySource.php
index f82530c3c770f30f7e825284bd1a67d4eaf552b6..434ac16baaefe67f4b5e9e60834e8ef759e9998f 100644
--- a/Civi/DataProcessor/Source/AbstractCivicrmEntitySource.php
+++ b/Civi/DataProcessor/Source/AbstractCivicrmEntitySource.php
@@ -324,7 +324,10 @@ abstract class AbstractCivicrmEntitySource extends AbstractSource {
     if ($this->getAvailableFields()->doesFieldExist($fieldSpecification->name)) {
       if ($fieldSpecification instanceof CustomFieldSpecification) {
         $customGroupDataFlow = $this->ensureCustomGroup($fieldSpecification->customGroupTableName, $fieldSpecification->customGroupName);
-        $customGroupDataFlow->getDataSpecification()->addFieldSpecification($fieldSpecification->alias, $fieldSpecification);
+        if (!$customGroupDataFlow->getDataSpecification()->doesFieldExist($fieldSpecification->alias)) {
+          $customGroupDataFlow->getDataSpecification()
+            ->addFieldSpecification($fieldSpecification->alias, $fieldSpecification);
+        }
       } else {
         $entityDataFlow = $this->ensureEntity();
         $entityDataFlow->getDataSpecification()->addFieldSpecification($fieldSpecification->alias, $fieldSpecification);