diff --git a/smash/web/models/subject.py b/smash/web/models/subject.py
index c16e7330a7ff76ff1ff93f1816691ddd01b26f93..ab779e001586776b650fea2bb7f8da0e67e9162b 100644
--- a/smash/web/models/subject.py
+++ b/smash/web/models/subject.py
@@ -1,4 +1,5 @@
 # coding=utf-8
+from django.core.validators import RegexValidator
 from django.db import models
 
 from constants import BOOL_CHOICES, SEX_CHOICES, SUBJECT_TYPE_CHOICES, COUNTRY_OTHER_ID
@@ -124,7 +125,9 @@ class Subject(models.Model):
                                         )
     nd_number = models.CharField(max_length=25,
                                  blank=True,
-                                 verbose_name='ND number'
+                                 verbose_name='ND number',
+                                 validators=[
+                                     RegexValidator('^(ND[0-9]{4}|)$', message="ND number should look as follows: NDxxxx")]
                                  )
     mpower_id = models.CharField(max_length=20,
                                  blank=True,
diff --git a/smash/web/tests/forms/test_SubjectAddForm.py b/smash/web/tests/forms/test_SubjectAddForm.py
index 2cadc938002c790cce798e4ce9e33ff93fd08bd6..907cfe39d93200d6bfedff92d7f18a4463d085fa 100644
--- a/smash/web/tests/forms/test_SubjectAddForm.py
+++ b/smash/web/tests/forms/test_SubjectAddForm.py
@@ -40,7 +40,7 @@ class SubjectAddFormTests(LoggedInWithWorkerTestCase):
 
     def test_invalid_2(self):
         form_data = self.sample_data
-        form_data['nd_number'] = "123"
+        form_data['nd_number'] = "ND0123"
 
         form = SubjectAddForm(data=form_data, user=self.user)
         form.is_valid()
diff --git a/smash/web/tests/forms/test_SubjectEditForm.py b/smash/web/tests/forms/test_SubjectEditForm.py
index ea4e25fef50879c45cdc64852e996790551959a2..3de9b95dd970d2aeeb0b029ec32af74c5413b420 100644
--- a/smash/web/tests/forms/test_SubjectEditForm.py
+++ b/smash/web/tests/forms/test_SubjectEditForm.py
@@ -17,7 +17,7 @@ class SubjectEditFormTests(LoggedInWithWorkerTestCase):
                             'default_location': location.id,
                             'country': COUNTRY_AFGHANISTAN_ID,
                             'screening_number': '123',
-                            'nd_number': 'nd_123'
+                            'nd_number': 'ND0123'
                             }
 
     def tearDown(self):
@@ -36,13 +36,13 @@ class SubjectEditFormTests(LoggedInWithWorkerTestCase):
         add_form = SubjectAddForm(data=self.sample_data, user=self.user)
         add_form.save()
 
-        self.sample_data['nd_number'] = "nd_124"
+        self.sample_data['nd_number'] = "ND0124"
         self.sample_data['screening_number'] = "124"
         add_form = SubjectAddForm(data=self.sample_data, user=self.user)
         subject = add_form.save()
 
         self.sample_data['id'] = subject.id
-        self.sample_data['nd_number'] = "nd_123"
+        self.sample_data['nd_number'] = "ND0123"
         edit_form = SubjectEditForm(self.sample_data)
 
         save_status = edit_form.is_valid()
@@ -54,14 +54,14 @@ class SubjectEditFormTests(LoggedInWithWorkerTestCase):
         subject = add_form.save()
 
         self.sample_data['mpower_id'] = "mpower_002"
-        self.sample_data['nd_number'] = "nd_002"
+        self.sample_data['nd_number'] = "ND0002"
         self.sample_data['screening_number'] = "002"
         add_form = SubjectAddForm(data=self.sample_data, user=self.user)
         add_form.save()
 
         self.sample_data['id'] = subject.id
         self.sample_data['mpower_id'] = "mpower_002"
-        self.sample_data['nd_number'] = "nd_001"
+        self.sample_data['nd_number'] = "ND0001"
         self.sample_data['screening_number'] = "001"
         edit_form = SubjectEditForm(self.sample_data)