Index: lib/moodlelib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/moodlelib.php,v
retrieving revision 1.1434
diff -u -r1.1434 moodlelib.php
--- lib/moodlelib.php	8 Aug 2010 09:32:23 -0000	1.1434
+++ lib/moodlelib.php	9 Aug 2010 17:12:18 -0000
@@ -4015,6 +4015,12 @@
         }
     }
 
+/// Remove all data from gradebook - this needs to be done before course modules
+/// because while deleting this information, the system may need to reference
+/// the course modules that own the grades.
+    remove_course_grades($courseid, $showfeedback);
+    remove_grade_letters($context, $showfeedback);
+
 /// Delete every instance of every module
 
     if ($allmods = $DB->get_records('modules') ) {
@@ -4088,10 +4094,6 @@
 /// Delete questions and question categories
     question_delete_course($course, $showfeedback);
 
-/// Remove all data from gradebook
-    remove_course_grades($courseid, $showfeedback);
-    remove_grade_letters($context, $showfeedback);
-
 /// Delete course tags
     require_once($CFG->dirroot.'/tag/coursetagslib.php');
     coursetag_delete_course_tags($course->id, $showfeedback);
