diff --git a/src/@x13/run.m b/src/@x13/run.m
index 2c79f2d35cf11c19792a36a409e25d2e2c84543f..bcca5251ad9c2923b11512dfef90491635b65053 100644
--- a/src/@x13/run.m
+++ b/src/@x13/run.m
@@ -2,7 +2,7 @@ function run(o, basename)
 
 % Runs x13 program and saves results.
 
-% Copyright © 2017 Dynare Team
+% Copyright © 2017, 2022 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -31,7 +31,11 @@ if ~exist(x13b, 'file')
 end
 
 % Run spc file.
-[~, ~] = system(sprintf('%s %s', x13b, basename));
+[errorflag, ~] = system(sprintf('%s %s', x13b, basename));
+
+if errorflag
+    error('X13 failed on %s.spc', basename)
+end
 
 o.results.name = basename; % Base name of the generated files.