diff --git a/smash/web/forms.py b/smash/web/forms.py
index 0f4efe7663deb737a3f58d0fba34d60b9bf99554..6bd614c22ef7daf4da39491ea0f59b8d67be60fe 100644
--- a/smash/web/forms.py
+++ b/smash/web/forms.py
@@ -149,7 +149,7 @@ class SubjectDetailForm(ModelForm):
         fields = '__all__'
 
 
-class SubjectEditForm(ModelForm):
+class StudySubjectEditForm(ModelForm):
     datetime_contact_reminder = forms.DateTimeField(label="Contact on",
                                                     widget=forms.DateTimeInput(DATETIMEPICKER_DATE_ATTRS),
                                                     required=False
@@ -166,7 +166,7 @@ class SubjectEditForm(ModelForm):
             kwargs.pop('was_resigned')
         if 'was_dead' in kwargs:
             kwargs.pop('was_dead')
-        super(SubjectEditForm, self).__init__(*args, **kwargs)
+        super(StudySubjectEditForm, self).__init__(*args, **kwargs)
         instance = getattr(self, 'instance', None)
         if instance and instance.id:
             self.fields['screening_number'].widget.attrs['readonly'] = True
@@ -184,6 +184,8 @@ class SubjectEditForm(ModelForm):
     class Meta:
         model = StudySubject
         fields = '__all__'
+        exclude = ['subject']
+
 
 
 class WorkerAddForm(ModelForm):
diff --git a/smash/web/tests/forms/test_StudySubjectEditForm.py b/smash/web/tests/forms/test_StudySubjectEditForm.py
index fde535a5f829da9126f670a51d1bcf984c577a6c..f7be33a08a4ed89afbbc85022a890fcb72d64917 100644
--- a/smash/web/tests/forms/test_StudySubjectEditForm.py
+++ b/smash/web/tests/forms/test_StudySubjectEditForm.py
@@ -1,5 +1,5 @@
 from web.forms import StudySubjectAddForm
-from web.forms import SubjectEditForm
+from web.forms import StudySubjectEditForm
 from web.models import StudySubject
 from web.models.constants import SEX_CHOICES_MALE, SUBJECT_TYPE_CHOICES_CONTROL, COUNTRY_AFGHANISTAN_ID
 from web.tests import LoggedInWithWorkerTestCase
@@ -31,7 +31,7 @@ class SubjectEditFormTests(LoggedInWithWorkerTestCase):
         subject = add_form.save()
         self.sample_data['id'] = subject.id
 
-        edit_form = SubjectEditForm(self.sample_data)
+        edit_form = StudySubjectEditForm(self.sample_data)
         save_status = edit_form.is_valid()
         self.assertTrue(save_status)
 
@@ -46,7 +46,7 @@ class SubjectEditFormTests(LoggedInWithWorkerTestCase):
 
         self.sample_data['id'] = subject.id
         self.sample_data['nd_number'] = "ND0123"
-        edit_form = SubjectEditForm(self.sample_data)
+        edit_form = StudySubjectEditForm(self.sample_data)
 
         save_status = edit_form.is_valid()
         self.assertFalse(save_status)
@@ -66,7 +66,7 @@ class SubjectEditFormTests(LoggedInWithWorkerTestCase):
         self.sample_data['mpower_id'] = "mpower_002"
         self.sample_data['nd_number'] = "ND0001"
         self.sample_data['screening_number'] = "001"
-        edit_form = SubjectEditForm(self.sample_data)
+        edit_form = StudySubjectEditForm(self.sample_data)
 
         save_status = edit_form.is_valid()
         self.assertFalse(save_status)
diff --git a/smash/web/tests/view/test_appointments.py b/smash/web/tests/view/test_appointments.py
index 25f971cef295e65263ed72d9bf2f75bf9d9beb54..31045c709c5cbbc4eb9091434a47e7d90ac1b996 100644
--- a/smash/web/tests/view/test_appointments.py
+++ b/smash/web/tests/view/test_appointments.py
@@ -5,7 +5,7 @@ from django.urls import reverse
 
 from web.tests.functions import create_study_subject, create_visit, create_appointment, create_worker, create_flying_team, \
     format_form_field
-from web.forms import AppointmentEditForm, SubjectEditForm
+from web.forms import AppointmentEditForm, StudySubjectEditForm
 from web.models import Appointment, StudySubject
 from web.views.notifications import get_today_midnight_date
 from web.tests import LoggedInTestCase
@@ -30,7 +30,7 @@ class AppointmentsViewTests(LoggedInTestCase):
         new_status = appointment.APPOINTMENT_STATUS_NO_SHOW
         new_last_name = "new last name"
         form_appointment = AppointmentEditForm(user=self.user, instance=appointment, prefix="appointment")
-        form_subject = SubjectEditForm(instance=subject, prefix="subject")
+        form_subject = StudySubjectEditForm(instance=subject, prefix="subject")
         form_data = {}
         for key, value in form_appointment.initial.items():
             if value is not None:
@@ -125,7 +125,7 @@ class AppointmentsViewTests(LoggedInTestCase):
 
     def prepare_form(self, appointment, subject):
         form_appointment = AppointmentEditForm(user=self.user, instance=appointment, prefix="appointment")
-        form_subject = SubjectEditForm(instance=subject, prefix="subject")
+        form_subject = StudySubjectEditForm(instance=subject, prefix="subject")
         form_data = {}
         for key, value in form_appointment.initial.items():
             if value is not None:
diff --git a/smash/web/tests/view/test_subjects.py b/smash/web/tests/view/test_subjects.py
index 9278a436ef5670af409e991f206141ea32132afb..a569464980e9dbf3a5059932f482c46f24f0cb9e 100644
--- a/smash/web/tests/view/test_subjects.py
+++ b/smash/web/tests/view/test_subjects.py
@@ -2,7 +2,7 @@ import datetime
 
 from django.urls import reverse
 
-from web.forms import StudySubjectAddForm, SubjectEditForm
+from web.forms import StudySubjectAddForm, StudySubjectEditForm
 from web.models import StudySubject
 from web.models.constants import SEX_CHOICES_MALE, SUBJECT_TYPE_CHOICES_CONTROL, SUBJECT_TYPE_CHOICES_PATIENT, \
     COUNTRY_AFGHANISTAN_ID, COUNTRY_OTHER_ID
@@ -47,7 +47,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
 
     def test_save_subject_edit_when_resigned_without_reason(self):
         subject = create_study_subject()
-        form_subject = SubjectEditForm(instance=subject)
+        form_subject = StudySubjectEditForm(instance=subject)
         form_data = {}
         for key, value in form_subject.initial.items():
             if value is not None:
@@ -63,7 +63,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
 
     def test_save_subject_edit(self):
         subject = create_study_subject()
-        form_subject = SubjectEditForm(instance=subject)
+        form_subject = StudySubjectEditForm(instance=subject)
         form_data = {}
         for key, value in form_subject.initial.items():
             if value is not None:
diff --git a/smash/web/views/appointment.py b/smash/web/views/appointment.py
index 2eca3ad830fc66192548b027693f99bce5a73996..910c5839609bf7827ce856da1cd71b2de2b39d9a 100644
--- a/smash/web/views/appointment.py
+++ b/smash/web/views/appointment.py
@@ -7,7 +7,7 @@ from django.core.exceptions import ValidationError
 from django.shortcuts import get_object_or_404, redirect
 
 from . import wrap_response
-from ..forms import AppointmentDetailForm, AppointmentAddForm, AppointmentEditForm, SubjectEditForm
+from ..forms import AppointmentDetailForm, AppointmentAddForm, AppointmentEditForm, StudySubjectEditForm
 from ..models import Appointment, StudySubject, MailTemplate
 
 APPOINTMENT_LIST_GENERIC = "GENERIC"
@@ -69,7 +69,7 @@ def appointment_edit(request, id):
                                                prefix="appointment")
         is_valid_form = True
         if the_appointment.visit is not None:
-            subject_form = SubjectEditForm(request.POST, instance=the_appointment.visit.subject, prefix="subject")
+            subject_form = StudySubjectEditForm(request.POST, instance=the_appointment.visit.subject, prefix="subject")
             if not subject_form.is_valid():
                 is_valid_form = False
 
@@ -109,7 +109,7 @@ def appointment_edit(request, id):
         appointment_form = AppointmentEditForm(instance=the_appointment, user=request.user, prefix="appointment")
 
         if the_appointment.visit is not None:
-            subject_form = SubjectEditForm(instance=the_appointment.visit.subject, prefix="subject")
+            subject_form = StudySubjectEditForm(instance=the_appointment.visit.subject, prefix="subject")
             contact_attempts = the_appointment.visit.subject.contactattempt_set.order_by('-datetime_when').all()
 
     languages = []
diff --git a/smash/web/views/subject.py b/smash/web/views/subject.py
index 996387a5776a17e56877b80aa47f1af07f3ec98c..d094a250cb8a5ad6cb49635ef19f3393adb5a03d 100644
--- a/smash/web/views/subject.py
+++ b/smash/web/views/subject.py
@@ -3,7 +3,7 @@ from django.contrib import messages
 from django.shortcuts import redirect, get_object_or_404
 
 from . import wrap_response
-from ..forms import StudySubjectAddForm, SubjectEditForm, VisitDetailForm
+from ..forms import StudySubjectAddForm, StudySubjectEditForm, VisitDetailForm
 from ..models import StudySubject, MailTemplate, Worker
 
 SUBJECT_LIST_GENERIC = "GENERIC"
@@ -55,8 +55,8 @@ def subject_edit(request, id):
     was_dead = the_subject.dead
     was_resigned = the_subject.resigned
     if request.method == 'POST':
-        form = SubjectEditForm(request.POST, request.FILES, instance=the_subject, was_dead=was_dead,
-                               was_resigned=was_resigned)
+        form = StudySubjectEditForm(request.POST, request.FILES, instance=the_subject, was_dead=was_dead,
+                                    was_resigned=was_resigned)
         if form.is_valid():
             form.save()
             # check if subject was marked as dead or resigned
@@ -71,7 +71,7 @@ def subject_edit(request, id):
         else:
             messages.add_message(request, messages.ERROR, 'Invalid data. Please fix data and try again.')
     else:
-        form = SubjectEditForm(instance=the_subject, was_dead=was_dead, was_resigned=was_resigned)
+        form = StudySubjectEditForm(instance=the_subject, was_dead=was_dead, was_resigned=was_resigned)
 
     languages = []
     if the_subject.default_written_communication_language: