Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 12079)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 12104)
@@ -71,6 +71,6 @@
 from waeup.kofa.datacenter import DataCenterFile
 
-from waeup.kofa.students.export import EXPORTER_NAMES as STUDENT_EXPORTERS
 from waeup.kofa.students.catalog import StudentQueryResultItem
+from waeup.kofa.students.interfaces import IStudentsUtils
 
 FORBIDDEN_CHARACTERS = (160,)
@@ -1581,7 +1581,9 @@
     def getExporters(self):
         utils = getUtilitiesFor(ICSVExporter)
+        STUDENT_EXPORTER_NAMES = getUtility(
+            IStudentsUtils).STUDENT_EXPORTER_NAMES
         title_name_tuples = [
             (util.title, name) for name, util in utils
-            if not name in STUDENT_EXPORTERS]
+            if not name in STUDENT_EXPORTER_NAMES]
         # The exporter for access codes requires a special permission.
         if not checkPermission('waeup.manageACBatches', self.context):
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 12079)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 12104)
@@ -76,5 +76,4 @@
     )
 from waeup.kofa.students.catalog import search, StudentQueryResultItem
-from waeup.kofa.students.export import EXPORTER_NAMES
 from waeup.kofa.students.studylevel import StudentStudyLevel, CourseTicket
 from waeup.kofa.students.vocabularies import StudyLevelSource
@@ -3180,5 +3179,7 @@
             self.exporters = exporters
             return
-        for name in EXPORTER_NAMES:
+        STUDENT_EXPORTER_NAMES = getUtility(
+            IStudentsUtils).STUDENT_EXPORTER_NAMES
+        for name in STUDENT_EXPORTER_NAMES:
             util = getUtility(ICSVExporter, name=name)
             exporters.append((util.title, name),)
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 12079)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 12104)
@@ -33,10 +33,4 @@
 from waeup.kofa.utils.helpers import iface_names, to_timezone
 
-#: A tuple containing all exporter names referring to students or
-#: subobjects thereof.
-EXPORTER_NAMES = ('students', 'studentstudycourses',
-        'studentstudylevels', 'coursetickets',
-        'studentpayments', 'bedtickets', 'paymentsoverview',
-        'studylevelsoverview', 'combocard', 'bursary')
 
 def get_students(site, stud_filter=StudentsQuery()):
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/student.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/student.py	(revision 12079)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/student.py	(revision 12104)
@@ -39,7 +39,7 @@
     CREATED, ADMITTED, CLEARANCE, PAID, REGISTERED, VALIDATED, RETURNING)
 from waeup.kofa.students.accommodation import StudentAccommodation
-from waeup.kofa.students.export import EXPORTER_NAMES
 from waeup.kofa.students.interfaces import (
-    IStudent, IStudentNavigation, IStudentPersonalEdit, ICSVStudentExporter)
+    IStudent, IStudentNavigation, IStudentPersonalEdit, ICSVStudentExporter,
+    IStudentsUtils)
 from waeup.kofa.students.payments import StudentPaymentsContainer
 from waeup.kofa.students.utils import generate_student_id
@@ -420,5 +420,9 @@
     (column `del_date`) as a UTC timestamp.
     """
-    for name in EXPORTER_NAMES:
+
+    STUDENT_EXPORTER_NAMES = getUtility(
+        IStudentsUtils).STUDENT_EXPORTER_NAMES
+
+    for name in STUDENT_EXPORTER_NAMES:
         exporter = getUtility(ICSVStudentExporter, name=name)
         csv_data = exporter.export_student(student)
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_student.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_student.py	(revision 12079)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_student.py	(revision 12104)
@@ -31,5 +31,4 @@
 from zope.schema.interfaces import RequiredMissing
 from waeup.kofa.interfaces import IExtFileStore, IFileStoreNameChooser
-from waeup.kofa.students.export import EXPORTER_NAMES
 from waeup.kofa.students.student import (
     Student, StudentFactory, handle_student_removed, path_from_studid)
@@ -41,5 +40,5 @@
     IStudent, IStudentStudyCourse, IStudentPaymentsContainer,
     IStudentAccommodation, IStudentStudyLevel, ICourseTicket, IBedTicket,
-    IStudentNavigation)
+    IStudentNavigation, IStudentsUtils)
 from waeup.kofa.students.tests.test_batching import StudentImportExportSetup
 from waeup.kofa.testing import FunctionalLayer, FunctionalTestCase
@@ -183,5 +182,8 @@
 
         # The student data were put into CSV files
-        for name in EXPORTER_NAMES:
+        STUDENT_EXPORTER_NAMES = getUtility(
+            IStudentsUtils).STUDENT_EXPORTER_NAMES
+
+        for name in STUDENT_EXPORTER_NAMES:
             csv_path = os.path.join(del_dir, '%s.csv' % name)
             self.assertTrue(os.path.isfile(csv_path))
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 12079)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 12104)
@@ -936,4 +936,11 @@
     PWCHANGE_STATES = (ADMITTED,)
 
+    #: A tuple containing all exporter names referring to students or
+    #: subobjects thereof.
+    STUDENT_EXPORTER_NAMES = ('students', 'studentstudycourses',
+            'studentstudylevels', 'coursetickets',
+            'studentpayments', 'bedtickets', 'paymentsoverview',
+            'studylevelsoverview', 'combocard', 'bursary')
+
     #: A prefix used when generating new student ids. Each student id will
     #: start with this string. The default is 'K' for ``Kofa``.
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.txt	(revision 12079)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.txt	(revision 12104)
@@ -211,28 +211,4 @@
      <implementedBy waeup.kofa.university.certificate.CertificateCourse>
 
-
-Event Subscribers
-=================
-
-.. function:: removedCourseHandler(course, event)
-
-   An event subscriber triggered for
-   :class:`grok.IObjectRemovedEvent`s, when an :class:`ICourse`
-   instance is removed from a container.
-
-   Tries to remove all referring :class:`CertificateCourse`
-   instances that refer to a removed course.
-
-   To accomplish that, the parents of the removed course are looked up
-   for a certifcate container which contains a certificate course that
-   refers to the deleted course.
-
-   .. seealso:: :ref:`removecertificatecourses`
-
-   **handles:**
-     :class:`ICourse`
-
-   **event type:**
-     :class:`grok.IObjectRemovedEvent`
 
 Examples
