diff --git a/src/target/trace.c b/src/target/trace.c
index 257e8ceb8a767946fe655acf67b4b8d5d42fcbc9..93925cd1a4827e5a2eba46b95adaf133f932fd7a 100644
--- a/src/target/trace.c
+++ b/src/target/trace.c
@@ -128,7 +128,11 @@ int handle_trace_history_command(struct command_context_s *cmd_ctx, char *cmd, c
 		int i;
 		int first = 0;
 		int last = trace->trace_history_pos;
-		
+
+		if ( !trace->trace_history_size ) {
+			command_print(cmd_ctx, "trace history buffer is not allocated");
+			return ERROR_OK;
+		}
 		if (trace->trace_history_overflowed)
 		{
 			first = trace->trace_history_pos;