diff --git a/smash/web/api_views/subject.py b/smash/web/api_views/subject.py
index 02bd657c15b2fb1ed366f1100b8f1643ae86f3a2..6d1bb1f598bf7371d94cb3e5a4e12a085f125306 100644
--- a/smash/web/api_views/subject.py
+++ b/smash/web/api_views/subject.py
@@ -82,6 +82,10 @@ def get_subjects_order(subjects_to_be_ordered, order_column, order_direction):
         result = subjects_to_be_ordered.order_by(order_direction + 'postponed')
     elif order_column == "type":
         result = subjects_to_be_ordered.order_by(order_direction + 'type')
+    elif order_column == "id":
+        result = subjects_to_be_ordered.order_by(order_direction + 'id')
+    elif order_column == "date_born":
+        result = subjects_to_be_ordered.order_by(order_direction + 'date_born')
     elif order_column == "visit_1":
         result = order_by_visit(subjects_to_be_ordered, order_direction, 1)
     elif order_column == "visit_2":
@@ -98,6 +102,8 @@ def get_subjects_order(subjects_to_be_ordered, order_column, order_direction):
         result = order_by_visit(subjects_to_be_ordered, order_direction, 7)
     elif order_column == "visit_8":
         result = order_by_visit(subjects_to_be_ordered, order_direction, 8)
+    else:
+        logger.warn("Unknown sort column: "+order_column)
     return result
 
 
diff --git a/smash/web/static/js/subject.js b/smash/web/static/js/subject.js
index 8453f7e93f6e0db28e71aab6bb2fe08b9edbef9f..bfee2f14996e3bbf51dce37beb3796e0304d7993 100644
--- a/smash/web/static/js/subject.js
+++ b/smash/web/static/js/subject.js
@@ -15,7 +15,8 @@ function createColumn(dataType, name, filter, visible, renderFunction) {
 
 function getColumns(type) {
     var result = [];
-    result.push(createColumn("id", "Id", null, false));
+    // don't confuse end user
+    // result.push(createColumn("id", "Id", null, false));
     result.push(createColumn("nd_number", "ND", "string_filter", true));
     result.push(createColumn("screening_number", "Screening", "string_filter", true));
     result.push(createColumn("first_name", "First name", "string_filter", true));
diff --git a/smash/web/tests/api_views/test_subject.py b/smash/web/tests/api_views/test_subject.py
index b96c694f54f7ed06018e760c30f8ddd9f27462a5..b4b074f3f031cdcc26d84a5c6890ad084f0aff6f 100644
--- a/smash/web/tests/api_views/test_subject.py
+++ b/smash/web/tests/api_views/test_subject.py
@@ -144,6 +144,24 @@ class TestApi(TestCase):
 
         self.check_subject_ordered("nd_number", [subject, subject2])
 
+    def test_subjects_sort_id(self):
+        subject = self.subject
+
+        subject2 = create_subject(2)
+
+        self.check_subject_ordered("id", [subject, subject2])
+
+    def test_subjects_sort_date_born(self):
+        subject = self.subject
+        subject.date_born = get_today_midnight_date()
+        subject.save()
+
+        subject2 = create_subject(2)
+        subject2.date_born = get_today_midnight_date() + datetime.timedelta(days=1)
+        subject2.save()
+
+        self.check_subject_ordered("date_born", [subject, subject2])
+
     def test_subjects_sort_default_location(self):
         subject = self.subject