diff --git a/src/unitgrade_private/pipelines/dtulearn.py b/src/unitgrade_private/pipelines/dtulearn.py
index 408df31074f283d5cdc9b7121d1f9cad80ed799d..f49cc94987a763219d6d0c8d57f2b3f297552f96 100644
--- a/src/unitgrade_private/pipelines/dtulearn.py
+++ b/src/unitgrade_private/pipelines/dtulearn.py
@@ -736,7 +736,8 @@ def docker_stagewise_evaluation(base_directory, Dockerfile=None, instructor_grad
 
     if plagiarism_check and True:
         from unitgrade_private.plagiarism.mossit import moss_it2023
-        moss_it2023(submissions_base_dir=stage4_dir, submissions_pattern="*-token", instructor_grade_script=instructor_grade_script)
+        moss_it2023(submissions_base_dir=stage4_dir, submissions_pattern="*-token", instructor_grade_script=instructor_grade_script,
+                    student_files_dir=student_handout_folder)
 
     if plagiarism_check and False: # This check is based on detector and is deprecated. I don't like detector.
         from coursebox.core.info_paths import get_paths
diff --git a/src/unitgrade_private/plagiarism/mossit.py b/src/unitgrade_private/plagiarism/mossit.py
index 5d0386e4555966182adf821bc3fe119a2e5825de..b6de2fe4dfddc8905d4eb1faffcab4d4e7e2ff57 100644
--- a/src/unitgrade_private/plagiarism/mossit.py
+++ b/src/unitgrade_private/plagiarism/mossit.py
@@ -56,7 +56,9 @@ def get_id(moss_pl):
         pl = [line for line in f.read().splitlines() if "$userid=" in line].pop()
     return pl.split("=")[1][:-1]
 
-def moss_it2023(submissions_base_dir=None, submissions_pattern="*-token", whitelisted_tokens="", instructor_grade_script=None, moss_id=None):
+def moss_it2023(submissions_base_dir=None, submissions_pattern="*-token", whitelisted_tokens="", instructor_grade_script=None, moss_id=None,
+                student_files_dir=None):
+
     a = 234
 
     # submissions_base_dir = stage4_dir
@@ -66,12 +68,16 @@ def moss_it2023(submissions_base_dir=None, submissions_pattern="*-token", whitel
     working_dir = os.path.dirname(submissions_base_dir) + "/moss"
     if not os.path.isdir(working_dir):
         os.makedirs(working_dir)
-    handout_dir = working_dir + "/handouts"
-    if not os.path.isdir(working_dir + "/handouts"):
+    # handout_dir = working_dir + "/handouts"
+    if not os.path.isdir(handout_dir := working_dir + "/handouts"):
         os.makedirs(working_dir + "/handouts")
     print("Put reference files (handouts) in the directory", handout_dir)
     from unitgrade_private.token_loader import get_coverage_files
 
+    from coursebox import get_paths
+    paths = get_paths()
+    student_files_dir = paths['02450students']
+
     cov_files = None
     for f in glob.glob(submissions_base_dir + "/" + submissions_pattern):
         if os.path.isdir(f):
@@ -95,6 +101,18 @@ def moss_it2023(submissions_base_dir=None, submissions_pattern="*-token", whitel
                             for g in i:
                                 if os.path.isfile(student_file := f"{tmpdirname}/{g}"):
                                     shutil.copy(student_file, f"{sdir}/{os.path.basename(g)}")
+    if student_files_dir is not None:
+
+        for q in cov_files:
+            for item in cov_files[q]:
+                for file in cov_files[q][item]:
+                    if len(all_files := glob.glob(student_files_dir  + "/**/" + file, recursive=True)) > 0:
+
+                        ff = all_files[0]
+
+                        shutil.copy(ff, handout_dir + "/" + os.path.basename(ff))
+                    else:
+                        print("Moss warning> Student file not found. Probably you cahnged the file names of the handout. Skipping.", file)
 
     # Now submit it to moss.
     import mosspy