diff --git a/smash/web/migrations/0069_remove_studysubject_sex.py b/smash/web/migrations/0069_remove_studysubject_sex.py
new file mode 100644
index 0000000000000000000000000000000000000000..1f3c708b0a2e3d52db8ff7cf14d7bcad70fe1e5c
--- /dev/null
+++ b/smash/web/migrations/0069_remove_studysubject_sex.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2017-11-28 11:14
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('web', '0068_remove_studysubject_dead'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='studysubject',
+            name='sex',
+        ),
+    ]
diff --git a/smash/web/models/mail_template.py b/smash/web/models/mail_template.py
index c899e4935a548d8008d160615b740318c035d1dc..cdbc8f8664b1dc49ed5beb816c41c39b4854de69 100644
--- a/smash/web/models/mail_template.py
+++ b/smash/web/models/mail_template.py
@@ -124,16 +124,16 @@ class MailTemplate(models.Model):
     def apply(self, instance, user, stream):
         appointment = None
         visit = None
-        subject = None
+        study_subject = None
         if isinstance(instance, Appointment):
             appointment = instance
             visit = instance.visit
-            subject = visit.subject
+            study_subject = visit.subject
         elif isinstance(instance, Visit):
             visit = instance
-            subject = visit.subject
+            study_subject = visit.subject
         elif isinstance(instance, StudySubject):
-            subject = instance
+            study_subject = instance
         # set locale to get correct date format
         locale_name = self.language.locale
         if platform.system() == 'Windows':
@@ -143,7 +143,7 @@ class MailTemplate(models.Model):
             self._add_generic_replacements(replacements, Worker.get_by_user(user))
             self._add_appointment_replacements(replacements, appointment)
             self._add_visit_replacements(replacements, visit)
-            self._add_subject_replacements(replacements, subject)
+            self._add_subject_replacements(replacements, study_subject)
             process_file(self.template_file.path, stream, replacements)
         return stream
 
@@ -194,33 +194,33 @@ class MailTemplate(models.Model):
                 "##V_DATE_ENDS_SHORT##": visit.datetime_end.strftime(DATE_FORMAT_SHORT),
             })
 
-    def _add_subject_replacements(self, replacements, subject):
-        if subject is not None:
-            if subject.date_born is not None:
-                date_born = subject.date_born.strftime(DATE_FORMAT_SHORT)
+    def _add_subject_replacements(self, replacements, study_subject):
+        if study_subject is not None:
+            if study_subject.date_born is not None:
+                date_born = study_subject.date_born.strftime(DATE_FORMAT_SHORT)
             else:
                 date_born = None
             replacements.update({
-                "##S_FULL_NAME##": unicode(subject),
-                "##S_FIRST_NAME##": subject.first_name,
-                "##S_LAST_NAME##": subject.last_name,
-                "##S_ADDRESS##": subject.address,
-                "##S_CITY##": subject.city,
-                "##S_COUNTRY##": unicode(subject.country),
-                "##S_DIAGNOSIS_YEAR##": subject.year_of_diagnosis,
-                "##S_DATE_ADDED##": subject.date_added.strftime(DATE_FORMAT_SHORT),
+                "##S_FULL_NAME##": unicode(study_subject),
+                "##S_FIRST_NAME##": study_subject.first_name,
+                "##S_LAST_NAME##": study_subject.last_name,
+                "##S_ADDRESS##": study_subject.address,
+                "##S_CITY##": study_subject.city,
+                "##S_COUNTRY##": unicode(study_subject.country),
+                "##S_DIAGNOSIS_YEAR##": study_subject.year_of_diagnosis,
+                "##S_DATE_ADDED##": study_subject.date_added.strftime(DATE_FORMAT_SHORT),
                 "##S_DATE_BORN##": date_born,
-                "##S_DIAGNOSIS##": subject.diagnosis,
-                "##S_EMAIL##": subject.email,
-                "##S_SEX##": subject.get_sex_display(),
-                "##S_MPOWER_ID##": subject.mpower_id,
-                "##S_ND_NUMBER##": subject.nd_number,
-                "##S_PHONE_NUMBER##": subject.phone_number,
-                "##S_PHONE_NUMBER_2##": subject.phone_number_2,
-                "##S_PHONE_NUMBER_3##": subject.phone_number_3,
-                "##S_POST_CODE##": subject.postal_code,
-                "##S_SCREENING_NUMBER##": subject.screening_number,
-                "##S_TYPE##": subject.get_type_display(),
-                '##S_MAIL_LANGUAGE##': str(subject.default_written_communication_language),
-                '##S_KNOWN_LANGUAGES##': ", ".join([l.name for l in subject.languages.all()])
+                "##S_DIAGNOSIS##": study_subject.diagnosis,
+                "##S_EMAIL##": study_subject.email,
+                "##S_SEX##": study_subject.subject.get_sex_display(),
+                "##S_MPOWER_ID##": study_subject.mpower_id,
+                "##S_ND_NUMBER##": study_subject.nd_number,
+                "##S_PHONE_NUMBER##": study_subject.phone_number,
+                "##S_PHONE_NUMBER_2##": study_subject.phone_number_2,
+                "##S_PHONE_NUMBER_3##": study_subject.phone_number_3,
+                "##S_POST_CODE##": study_subject.postal_code,
+                "##S_SCREENING_NUMBER##": study_subject.screening_number,
+                "##S_TYPE##": study_subject.get_type_display(),
+                '##S_MAIL_LANGUAGE##': str(study_subject.default_written_communication_language),
+                '##S_KNOWN_LANGUAGES##': ", ".join([l.name for l in study_subject.languages.all()])
             })
diff --git a/smash/web/models/study_subject.py b/smash/web/models/study_subject.py
index 46d336063d21870a5aa3779be9319e36102b626e..77e31e0ad20793dc2f1f1d67236b05c2f73a5831 100644
--- a/smash/web/models/study_subject.py
+++ b/smash/web/models/study_subject.py
@@ -33,10 +33,6 @@ class StudySubject(models.Model):
                                 null=False,
                                 )
 
-    sex = models.CharField(max_length=1,
-                           choices=SEX_CHOICES,
-                           verbose_name='Sex'
-                           )
     postponed = models.BooleanField(choices=BOOL_CHOICES,
                                     verbose_name='Postponed',
                                     default=False
diff --git a/smash/web/redcap_connector.py b/smash/web/redcap_connector.py
index 2f9b2db64a94da2d556aeacdec8010f81a988b98..919952136b6d71f7eb3f0de999bf3e6afa9871a4 100644
--- a/smash/web/redcap_connector.py
+++ b/smash/web/redcap_connector.py
@@ -173,14 +173,14 @@ class RedcapConnector(object):
         return result
 
     @staticmethod
-    def create_inconsistency_subject(red_cap_subject, subject, url):
+    def create_inconsistency_subject(red_cap_subject, study_subject, url):
         fields = []
-        if subject.sex != red_cap_subject.sex:
-            field = InconsistentField.create("sex", subject.sex, red_cap_subject.sex)
+        if study_subject.subject.sex != red_cap_subject.sex:
+            field = InconsistentField.create("sex", study_subject.subject.sex, red_cap_subject.sex)
             fields.append(field)
         subject_date_born = ""
-        if subject.date_born is not None:
-            subject_date_born = subject.date_born.strftime('%Y-%m-%d')
+        if study_subject.date_born is not None:
+            subject_date_born = study_subject.date_born.strftime('%Y-%m-%d')
         redcap_subject_date_born = red_cap_subject.date_born
         if redcap_subject_date_born is None:
             redcap_subject_date_born = ""
@@ -189,23 +189,23 @@ class RedcapConnector(object):
         if subject_date_born != redcap_subject_date_born:
             field = InconsistentField.create("date of birth", subject_date_born, redcap_subject_date_born)
             fields.append(field)
-        if subject.subject.dead != red_cap_subject.dead:
-            field = InconsistentField.create("dead", str(subject.subject.dead), str(red_cap_subject.dead))
+        if study_subject.subject.dead != red_cap_subject.dead:
+            field = InconsistentField.create("dead", str(study_subject.subject.dead), str(red_cap_subject.dead))
             fields.append(field)
-        if different_string(subject.mpower_id, red_cap_subject.mpower_id):
-            field = InconsistentField.create("mpower id", subject.mpower_id, red_cap_subject.mpower_id)
+        if different_string(study_subject.mpower_id, red_cap_subject.mpower_id):
+            field = InconsistentField.create("mpower id", study_subject.mpower_id, red_cap_subject.mpower_id)
             fields.append(field)
         missing_language = False
         if len(red_cap_subject.languages) < 4:
-            for language in subject.languages.all():
+            for language in study_subject.languages.all():
                 if language not in red_cap_subject.languages:
                     missing_language = True
         for language in red_cap_subject.languages:
-            if language not in subject.languages.all():
+            if language not in study_subject.languages.all():
                 missing_language = True
         if missing_language:
             subject_languages = ""
-            for language in subject.languages.all():
+            for language in study_subject.languages.all():
                 subject_languages += language.name + ", "
             red_cap_subject_languages = ""
             for language in red_cap_subject.languages:
@@ -214,7 +214,7 @@ class RedcapConnector(object):
             fields.append(field)
         result = None
         if len(fields) > 0:
-            result = InconsistentSubject.create(smash_subject=subject, url=url, fields=fields)
+            result = InconsistentSubject.create(smash_subject=study_subject, url=url, fields=fields)
         return result
 
     def create_redcap_link(self, pid, redcap_version, subject):
diff --git a/smash/web/tests/forms/test_StudySubjectAddForm.py b/smash/web/tests/forms/test_StudySubjectAddForm.py
index 644863fe2af1e677ee8071a6e34268bce0f2650d..770033cba27cebb4fb22469ebcc81d5b425b4102 100644
--- a/smash/web/tests/forms/test_StudySubjectAddForm.py
+++ b/smash/web/tests/forms/test_StudySubjectAddForm.py
@@ -16,7 +16,6 @@ class StudySubjectAddFormTests(LoggedInWithWorkerTestCase):
         self.subject = create_subject()
         self.sample_data = {'first_name': 'name',
                             'last_name': 'name',
-                            'sex': SEX_CHOICES_MALE,
                             'type': SUBJECT_TYPE_CHOICES_CONTROL,
                             'default_location': location.id,
                             'screening_number': "123",
diff --git a/smash/web/tests/forms/test_StudySubjectEditForm.py b/smash/web/tests/forms/test_StudySubjectEditForm.py
index f7be33a08a4ed89afbbc85022a890fcb72d64917..6749aba77042b6abc38908a040c71410b402a73a 100644
--- a/smash/web/tests/forms/test_StudySubjectEditForm.py
+++ b/smash/web/tests/forms/test_StudySubjectEditForm.py
@@ -6,15 +6,14 @@ from web.tests import LoggedInWithWorkerTestCase
 from web.tests.functions import create_subject
 
 
-class SubjectEditFormTests(LoggedInWithWorkerTestCase):
+class StudySubjectEditFormTests(LoggedInWithWorkerTestCase):
     def setUp(self):
-        super(SubjectEditFormTests, self).setUp()
+        super(StudySubjectEditFormTests, self).setUp()
         self.subject = create_subject()
 
         location = self.worker.locations.all()[0]
         self.sample_data = {'first_name': 'name',
                             'last_name': 'name',
-                            'sex': SEX_CHOICES_MALE,
                             'type': SUBJECT_TYPE_CHOICES_CONTROL,
                             'default_location': location.id,
                             'country': COUNTRY_AFGHANISTAN_ID,
diff --git a/smash/web/tests/functions.py b/smash/web/tests/functions.py
index 66d1c1cc9464bcea6966b006d2f21819b7d2eabd..8c835428174e6527a36cf971ca0859effee53062 100644
--- a/smash/web/tests/functions.py
+++ b/smash/web/tests/functions.py
@@ -70,12 +70,10 @@ def create_study_subject(subject_id=1, subject=None):
         first_name="Piotr",
         last_name="Gawron",
         default_location=get_test_location(),
-        sex=SEX_CHOICES_MALE,
         type=SUBJECT_TYPE_CHOICES_CONTROL,
         screening_number="piotr's number" + str(subject_id),
         country_id=COUNTRY_AFGHANISTAN_ID,
         subject=subject
-
     )
 
 
diff --git a/smash/web/tests/test_RedcapConnector.py b/smash/web/tests/test_RedcapConnector.py
index e6faaf0dc6e92d1022d13c92b19ad4bfc627be8a..61ee984e329259e055ac96e838e26048b9ad3968 100644
--- a/smash/web/tests/test_RedcapConnector.py
+++ b/smash/web/tests/test_RedcapConnector.py
@@ -137,15 +137,15 @@ class TestRedcapConnector(TestCase):
         self.assertIsNone(result)
 
     @staticmethod
-    def create_redcap_subject_from_smash_subject(subject):
+    def create_redcap_subject_from_smash_subject(study_subject):
         redcap_subject = RedcapSubject()
-        for language in subject.languages.all():
+        for language in study_subject.languages.all():
             redcap_subject.add_language(language)
-        redcap_subject.mpower_id = subject.mpower_id
-        redcap_subject.dead = subject.subject.dead
-        redcap_subject.date_born = subject.date_born
-        redcap_subject.nd_number = subject.nd_number
-        redcap_subject.sex = subject.sex
+        redcap_subject.mpower_id = study_subject.mpower_id
+        redcap_subject.dead = study_subject.subject.dead
+        redcap_subject.date_born = study_subject.date_born
+        redcap_subject.nd_number = study_subject.nd_number
+        redcap_subject.sex = study_subject.subject.sex
         return redcap_subject
 
     def test_get_language(self):
diff --git a/smash/web/tests/view/test_subjects.py b/smash/web/tests/view/test_subjects.py
index 64bb47c568b411dd214411f0304f45a257c1ab28..4617ccab3367d799f1aaefad73d5bf39f60d8072 100644
--- a/smash/web/tests/view/test_subjects.py
+++ b/smash/web/tests/view/test_subjects.py
@@ -119,7 +119,6 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
         form_data["study_subject-country"] = COUNTRY_AFGHANISTAN_ID
         form_data["study_subject-first_name"] = "John"
         form_data["study_subject-last_name"] = "Doe"
-        form_data["study_subject-sex"] = SEX_CHOICES_MALE
 
     def test_subjects_add_patient(self):
         form_data = self.create_add_form_data_for_study_subject()