diff --git a/smash/web/models/study_subject.py b/smash/web/models/study_subject.py
index de563d58a5413920bafe8b7bb38a0bfb6dbd7468..97c8e6708453242663fcd2016f3e44d32c789af6 100644
--- a/smash/web/models/study_subject.py
+++ b/smash/web/models/study_subject.py
@@ -6,6 +6,7 @@ from django.db import models
 from web.models import VoucherType, Appointment, Location, Visit
 from web.models.constants import BOOL_CHOICES, SUBJECT_TYPE_CHOICES, FILE_STORAGE
 from django.db.models.signals import post_save
+from django.dispatch import receiver
 
 logger = logging.getLogger(__name__)
 
@@ -212,10 +213,9 @@ class StudySubject(models.Model):
         return "%s %s" % (self.subject.first_name, self.subject.last_name)
 
 #SIGNALS
+@receiver(post_save, sender=StudySubject)
 def set_as_resigned_or_excluded(sender, instance, **kwargs):
   if instance.excluded:
     instance.mark_as_excluded()
   if instance.resigned:
-    instance.mark_as_resigned()
-      
-post_save.connect(set_as_resigned_or_excluded, sender=StudySubject)
\ No newline at end of file
+    instance.mark_as_resigned()
\ No newline at end of file
diff --git a/smash/web/models/subject.py b/smash/web/models/subject.py
index e28abb8cfb5498ae9777e13e522657f3c12797ba..55afd8ba6b70406e163ee90d64227798ca4a52ee 100644
--- a/smash/web/models/subject.py
+++ b/smash/web/models/subject.py
@@ -6,6 +6,7 @@ from constants import SEX_CHOICES, COUNTRY_OTHER_ID
 from web.models import Country, Visit, Appointment
 from . import Language
 from django.db.models.signals import post_save
+from django.dispatch import receiver
 
 logger = logging.getLogger(__name__)
 
@@ -127,8 +128,7 @@ class Subject(models.Model):
 
 
 #SIGNALS
+@receiver(post_save, sender=Subject)
 def set_as_deceased(sender, instance, **kwargs):
   if instance.dead:
-    instance.mark_as_dead()
-        
-post_save.connect(set_as_deceased, sender=Subject)
\ No newline at end of file
+    instance.mark_as_dead()
\ No newline at end of file