diff --git a/smash/web/forms.py b/smash/web/forms.py
index d989cf6553455889af2393154440e89619e8fac4..bc046b76344ab40c3a258b611fc1ca59f6128b5d 100644
--- a/smash/web/forms.py
+++ b/smash/web/forms.py
@@ -40,6 +40,19 @@ class SubjectEditForm(ModelForm):
         widget=forms.SelectDateWidget(years=YEAR_CHOICES)
     )
 
+    def __init__(self, *args, **kwargs):
+        super(SubjectEditForm, self).__init__(*args, **kwargs)
+        instance = getattr(self, 'instance', None)
+        if instance and instance.id:
+            self.fields['screening_number'].widget.attrs['readonly'] = True
+
+    def clean_foo_field(self):
+        instance = getattr(self, 'instance', None)
+        if instance and instance.id:
+            return instance.screening_number
+        else:
+            return self.cleaned_data['screening_number']
+
     class Meta:
         model = Subject
         fields = '__all__'