diff --git a/classes/controlledVocab/ControlledVocabDAO.inc.php b/classes/controlledVocab/ControlledVocabDAO.inc.php index c3f1da2b732..8af609bc3c9 100644 --- a/classes/controlledVocab/ControlledVocabDAO.inc.php +++ b/classes/controlledVocab/ControlledVocabDAO.inc.php @@ -52,6 +52,10 @@ function getById($controlledVocabId) { * @return $controlledVocab */ function _build($symbolic, $assocType = 0, $assocId = 0) { + // Attempt to fetch an existing controlled vocabulary. + $controlledVocab = $this->getBySymbolic($symbolic, $assocType, $assocId); + if ($controlledVocab) return $controlledVocab; + // Attempt to build a new controlled vocabulary. $controlledVocab = $this->newDataObject(); $controlledVocab->setSymbolic($symbolic);