diff --git a/src/main/java/uk/ac/rhul/cs/javatester/BaseTester.java b/src/main/java/uk/ac/rhul/cs/javatester/BaseTester.java
index 9d66a81d4dc302c4190f865548d92933518493c2..4437668bdeede47ba70ad52a0ff05935e1db9f33 100644
--- a/src/main/java/uk/ac/rhul/cs/javatester/BaseTester.java
+++ b/src/main/java/uk/ac/rhul/cs/javatester/BaseTester.java
@@ -259,7 +259,7 @@ public abstract class BaseTester {
      */
     protected boolean outputResult(List<String> failedMessages,
                                    SubmissionWrapper wrapper) {
-        return outputResult(failedMessages, wrapper, false);
+        return outputResult(failedMessages, wrapper, false, null);
     }
 
     /**
@@ -272,13 +272,20 @@ public abstract class BaseTester {
      * scriptedInteraction containing at least one error message
      * @param wrapper the submission wrapper used
      * @param outputCommandLine include the command line in the output
+     * @param description a description of the test to show before
+     * failing interaction (or null if non to show)
      * @return true if failedMessage is null (i.e. test passed)
      */
     protected boolean outputResult(List<String> failedMessages,
                                    SubmissionWrapper wrapper,
-                                   boolean outputCommandLine) {
+                                   boolean outputCommandLine,
+                                   String description) {
         if (failedMessages != null) {
             out.printCodeLine("Test failed!\n");
+
+            if (description != null)
+                out.printCodeLine(description);
+
             out.printCodeLine("Failing interaction:");
 
             if (outputCommandLine) {