diff --git a/backup/restorelib.php b/backup/restorelib.php
index 6ce9318cac0..0869fc40bfe 100644
--- a/backup/restorelib.php
+++ b/backup/restorelib.php
@@ -4411,6 +4411,18 @@ define('RESTORE_GROUPS_GROUPINGS', 3);
                 } else {
                     $status = false;
                }
+               // MDL-14326 remove empty course modules instance's (credit goes to John T. Macklin from Remote Learner)
+               $course_modules_inst_zero = get_records_sql("SELECT id, course, instance
+                                           FROM {$CFG->prefix}course_modules
+                                           WHERE id = '$cm_module->new_id' AND
+                                                 instance = '0'");
+                                                 
+                    if($course_modules_inst_zero){ // Clean up the invalid instances
+                         foreach($course_modules_inst_zero as $course_modules_inst){
+                             delete_records('course_modules', 'id',$course_modules_inst->id);
+                         }
+                    }
+
             }
         /// Finally, calculate modinfo cache.
             rebuild_course_cache($restore->course_id);