diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php
index 6914194a840..7e3f1b11818 100644
--- a/mod/assignment/lib.php
+++ b/mod/assignment/lib.php
@@ -444,11 +444,13 @@ class assignment_base {
     /**
      * Deletes an assignment activity
      *
-     * Deletes all database records and calendar events for this assignment.
+     * Deletes all database records, files and calendar events for this assignment.
      * @param $assignment object The assignment to be deleted
      * @return boolean False indicates error
      */
     function delete_instance($assignment) {
+        global $CFG;
+
         $result = true;
 
         if (! delete_records('assignment_submissions', 'assignment', $assignment->id)) {
@@ -473,6 +475,10 @@ class assignment_base {
             }
         }
 
+        // delete file area with all attachments - ignore errors
+        require_once($CFG->libdir.'/filelib.php');
+        fulldelete($CFG->dataroot.'/'.$assignment->course.'/'.$CFG->moddata.'/assignment/'.$assignment->id);
+
         return $result;
     }