Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 7203)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 7205)
@@ -70,6 +70,9 @@
     if changed_fields:
         changed_fields = reduce(lambda x,y: x+y, changed_fields.values())
+    # Inform catalog if certificate has changed
+    # (applyData does this only for the context)
+    if 'certificate' in changed_fields:
+        notify(grok.ObjectModifiedEvent(view.context.getStudent()))
     fields_string = ' + '.join(changed_fields)
-    #view.context._p_changed = True
     view.flash('Form has been saved.')
     if fields_string:
@@ -599,5 +602,5 @@
     @property
     def department(self):
-        if self.context.certificate:
+        if self.context.certificate is not None:
             return self.context.certificate.__parent__.__parent__
         return
@@ -605,5 +608,5 @@
     @property
     def faculty(self):
-        if self.context.certificate:
+        if self.context.certificate is not None:
             return self.context.certificate.__parent__.__parent__.__parent__
         return
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containermanagepage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containermanagepage.pt	(revision 7203)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containermanagepage.pt	(revision 7205)
@@ -10,5 +10,8 @@
     <option value="student_id">with id</option>
     <option value="fullname">with name</option>
+    <option value="reg_number">with registration number</option>
+    <option value="matric_number">with matriculation number</option>
     <option value="current_session">in session</option>
+    <option value="depcode">in department</option>
   </select>
 
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containerpage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containerpage.pt	(revision 7203)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containerpage.pt	(revision 7205)
@@ -13,4 +13,5 @@
     <option value="matric_number">with matriculation number</option>
     <option value="current_session">in session</option>
+    <option value="depcode">in department</option>
   </select>
 
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py	(revision 7203)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py	(revision 7205)
@@ -149,5 +149,5 @@
         self.certificate.end_level = 500
         self.app['faculties']['fac1'] = Faculty()
-        self.app['faculties']['fac1']['dep1'] = Department()
+        self.app['faculties']['fac1']['dep1'] = Department(code='dep1')
         self.app['faculties']['fac1']['dep1'].certificates.addCertificate(
             self.certificate)
@@ -196,4 +196,6 @@
         self.student['studycourse'].current_verdict = 'A'
         self.student['studycourse'].current_level = 100
+        # Update the catalog
+        notify(grok.ObjectModifiedEvent(self.student))
 
         # Put the prepopulated site into test ZODB and prepare test
@@ -263,4 +265,11 @@
         self.browser.getControl(name="searchtype").value = ['student_id']
         self.browser.getControl(name="searchterm").value = self.student_id
+        self.browser.getControl("Search").click()
+        self.assertTrue('Anna Tester' in self.browser.contents)
+
+        # We can find a student in a certain department
+        self.browser.open(self.container_path)
+        self.browser.getControl(name="searchtype").value = ['depcode']
+        self.browser.getControl(name="searchterm").value = 'dep1'
         self.browser.getControl("Search").click()
         self.assertTrue('Anna Tester' in self.browser.contents)
