diff --git a/convert.py b/convert.py
index 5a1e4d165cea522b5683d06f078bdd6b8c7f882e..94eb5ed5e1f61e149ea184867529bb4c0c7743d3 100755
--- a/convert.py
+++ b/convert.py
@@ -82,7 +82,7 @@ def sheet_iter_data(sheet):
     """ yields all rows that are not of empty type as one string """
     for row in (sheet.row(i) for i in range(sheet.nrows)):
         if any(map(lambda c: c.ctype, row)):
-            yield row[0].value + row[1].value
+            yield ''.join(c.value for c in row)
 
 # nice!
 name2mat = dict(sheet_iter_meta(meta))
@@ -108,7 +108,7 @@ if args.NUMBER_OF_TASKS:
 if args.usernames:
     with open(args.usernames) as data:
         mat_to_email = json.JSONDecoder().decode(data.read())
-    usernames = {user.name : mat_to_email[name2mat[user.name]].split('@')[0] for (user, *_) in root}
+    usernames = {user.name : mat_to_email[name2mat[user.name]].split('@')[0] if name2mat[user.name] in mat_to_email else ''.join(filter(str.isupper, user.name)) + name2mat[user.name] for (user, *_) in root}
 
 else: # legacy support / fallback
     usernames = {user.name : ''.join(filter(str.isupper, user.name)) + name2mat[user.name] for (user, *_) in root}
diff --git a/core/models.py b/core/models.py
index f8f18d90d16426e2421108a05ab8df2c52a0a4d5..37e8380bedf7384b4ce5b5016f01bcd39a1a2ede 100644
--- a/core/models.py
+++ b/core/models.py
@@ -149,7 +149,7 @@ class Submission(models.Model):
         # we do not want this tutor to correct the same submission twice
         if type_slug:
             ready = ready.filter(type__slug=type_slug)
-        ready = ready.exclude(feedback_list__of_tutor=tutor)
+        ready = ready.exclude(feedback__of_tutor=tutor)
         if not ready:
             return False
 
diff --git a/core/templates/core/feedback_form.html b/core/templates/core/feedback_form.html
index 615cffd9b1486f683f26ed5ac7431536e1c8c3af..4aa8e4a9443e7188bcc516217f9369236d22b1a8 100644
--- a/core/templates/core/feedback_form.html
+++ b/core/templates/core/feedback_form.html
@@ -155,7 +155,7 @@
 
   // we need this one for the student readonly
   var editor_student = ace.edit("student_text");
-  editor_student.setValue(`{{feedback.of_submission.text}}`, -1);
+  editor_student.setValue(`{{feedback.of_submission.text|safe}}`, -1);
   editor_student.getSession().setMode("ace/mode/c_cpp");
   editor_student.setOptions({
     readOnly: true,
diff --git a/core/views/export_csv.py b/core/views/export_csv.py
index b322258eb6672e039925b630e962d3cbc30fc235..147e85b0ba280b1331aff127aa92676da8945df4 100644
--- a/core/views/export_csv.py
+++ b/core/views/export_csv.py
@@ -17,7 +17,9 @@ def export_csv(request):
 
     for student in Student.objects.all():
         submissions = Submission.objects.filter(student=student)
-        score_list  = [s.final_feedback.score if s.final_feedback else 0 for s in submissions.order_by('type__name')]
+        score_list  = [s.feedback.score if hasattr(s, 'feedback') else 0 for s in submissions.order_by('type__name')]
+        if not score_list:
+            score_list = [0] * SubmissionType.objects.count()
         writer.writerow([
             student.matrikel_no,
             student.name,