diff --git a/src/main/java/de/prob2/jupyter/ProBKernel.java b/src/main/java/de/prob2/jupyter/ProBKernel.java
index ebb89fa5bf17d2b1a6597a96c0e2a03f86f3cbd1..f33752ace2b1ec334591f2f4ad737543b8985551 100644
--- a/src/main/java/de/prob2/jupyter/ProBKernel.java
+++ b/src/main/java/de/prob2/jupyter/ProBKernel.java
@@ -667,7 +667,9 @@ public final class ProBKernel extends BaseKernel {
 			out.add(this.errorStyler.secondary(String.format("Error end line %d out of bounds (1..%d)", location.getEndLine(), sourceLines.size())));
 			return out;
 		}
-		final List<String> errorLines = sourceLines.subList(location.getStartLine()-1, location.getEndLine());
+		final int startLineIndex = location.getStartLine() - 1;
+		final int endLineIndex = location.getEndLine() - 1;
+		final List<String> errorLines = sourceLines.subList(startLineIndex, endLineIndex + 1);
 		assert !errorLines.isEmpty();
 		final String firstLine = errorLines.get(0);
 		final String lastLine = errorLines.get(errorLines.size() - 1);
@@ -679,6 +681,11 @@ public final class ProBKernel extends BaseKernel {
 			out.add(this.errorStyler.secondary(String.format("Error end column %d out of bounds (0..%d)", location.getEndColumn(), lastLine.length()-1)));
 			return out;
 		}
+		
+		if (startLineIndex > 0) {
+			out.add(this.errorStyler.primary(sourceLines.get(startLineIndex - 1)));
+		}
+		
 		if (errorLines.size() == 1) {
 			out.add(
 				this.errorStyler.primary(firstLine.substring(0, location.getStartColumn()))
@@ -696,6 +703,11 @@ public final class ProBKernel extends BaseKernel {
 				+ this.errorStyler.primary(lastLine.substring(location.getEndColumn()))
 			);
 		}
+		
+		if (endLineIndex < sourceLines.size() - 1) {
+			out.add(this.errorStyler.primary(sourceLines.get(endLineIndex + 1)));
+		}
+		
 		return out;
 	}