diff --git a/osf/models/mixins.py b/osf/models/mixins.py index 7280950c02e..5147d68c1b6 100644 --- a/osf/models/mixins.py +++ b/osf/models/mixins.py @@ -1383,8 +1383,11 @@ def add_contributor(self, contributor, permissions=None, visible=True, ) if save: self.save() - Preprint = apps.get_model('osf.Preprint') - if (self._id and contrib_to_add) or (isinstance(self, Preprint) and contrib_to_add): + if self._id and contrib_to_add: + # TODO: remove the comment after `Preprint.save()` has been fixed. + # There is a bug for Preprint when the first `.save()` is called. It triggers a series of events which + # includes adding creator as the contributor. However, with versioned guid, there is a gap between preprint + # is saved and guid is updated, during which `self._id` is None and the signal can not be be sent. project_signals.contributor_added.send(self, contributor=contributor, auth=auth, email_template=send_email, permissions=permissions)