Index: main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/browser.py
===================================================================
--- main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/browser.py	(revision 15634)
+++ main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/browser.py	(revision 15635)
@@ -197,22 +197,21 @@
         return form_fields
 
-    @property
-    def _student_per_school_exceeded(self):
+    def _student_per_school_exceeded(self, data):
         container = self.context.__parent__
         counter = 0
-        if self.context.school1:
-            for appl in container.values():
-                if appl.state in (SUBMITTED, ADMITTED, NOT_ADMITTED, CREATED) \
-                    and appl.school1 == self.context.school1:
-                    counter += 1
-                    if counter == 10:
-                        return True
+        for appl in container.values():
+            if appl.state in (SUBMITTED, ADMITTED, NOT_ADMITTED, CREATED) \
+                and (appl.school1 == self.context.school1 \
+                     or appl.school1 == data.get('school1')):
+                counter += 1
+                if counter == 10:
+                    return True
         return False
 
-    def dataNotComplete(self):
-        if self._student_per_school_exceeded:
+    def dataNotComplete(self, data):
+        if self._student_per_school_exceeded(data):
             return ("1st Choice TPZ and School: "
                     "Maximum number of applications per school exceeded. "
                     "Please select another first choice school.")
-        super(CustomApplicantEditFormPage, self).dataNotComplete()
+        super(CustomApplicantEditFormPage, self).dataNotComplete(data)
         return
Index: main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/interfaces.py
===================================================================
--- main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/interfaces.py	(revision 15634)
+++ main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/interfaces.py	(revision 15635)
@@ -161,16 +161,4 @@
         )
 
-    #school2 = schema.Choice(
-    #    title = _(u'2nd Choice TPZ and School'),
-    #    source = SchoolSource(),
-    #    required = False,
-    #    )
-
-    #school3 = schema.Choice(
-    #    title = _(u'3rd Choice TPZ and School'),
-    #    source = SchoolSource(),
-    #    required = False,
-    #    )
-
 class ICustomUGApplicant(INigeriaUGApplicant):
     """An undergraduate applicant.
Index: main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/tests/test_browser.py
===================================================================
--- main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/tests/test_browser.py	(revision 15634)
+++ main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/tests/test_browser.py	(revision 15635)
@@ -189,5 +189,4 @@
         self.assertEqual(self.browser.headers['Status'], '200 Ok')
         
-
     def test_final_submit_tpu(self):
         IWorkflowState(self.tpuapplicant).setState('paid')
@@ -209,16 +208,18 @@
         self.assertTrue(
             'Application submitted' in self.browser.contents)
-        # Create 20 applicants who already selected s0010
+        # Create 10 applicants who already selected s0010
         for i in range(1,11):
-            tpuapplicant = createObject(u'waeup.Applicant')
-            tpuapplicant.firstname = u'John'
-            tpuapplicant.lastname = u'Doe %s' %i
-            tpuapplicant.school1 = 's0010'
+            dummy = createObject(u'waeup.Applicant')
+            dummy.firstname = u'John'
+            dummy.lastname = u'Doe %s' %i
+            dummy.school1 = 's0010'
             self.app['applicants'][
-                self.tpucontainer.code].addApplicant(tpuapplicant)
-            IWorkflowState(tpuapplicant).setState('submitted')
+                self.tpucontainer.code].addApplicant(dummy)
+            IWorkflowState(dummy).setState('submitted')
         IWorkflowState(self.tpuapplicant).setState('paid')
+        self.tpuapplicant.school1 = None
         self.tpuapplicant.locked = False
         self.browser.open(self.tpuapplicant_path + '/edit')
+        self.browser.getControl(name="form.school1").value = ['s0010']
         self.browser.getControl("Finally Submit").click()
         self.assertTrue("Maximum number of applications per school exceeded."
