diff --git a/matlab/dyntable.m b/matlab/dyntable.m
index e9ed038f6e653d107645444aa78d0ddf5da92a79..6ecf237e8c4902ff2bf9d86096e83b7f201518eb 100644
--- a/matlab/dyntable.m
+++ b/matlab/dyntable.m
@@ -15,7 +15,7 @@ function dyntable(options_, title, headers, labels, values, label_width, val_wid
 % OUTPUTS
 % none
 
-% Copyright (C) 2002-2018 Dynare Team
+% Copyright (C) 2002-2022 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -46,12 +46,12 @@ label_format_leftbound  = sprintf('%%-%ds', label_width);
 
 
 % Set width of other columns
-if all(~isfinite(values))
+if all(all(~isfinite(values)))
     values_length = 4;
 else
     values_length = max(ceil(max(max(log10(abs(values(isfinite(values))))))),1)+val_precis+1;
 end
-if any(values) < 0 %add one character for minus sign
+if any(any(values < 0)) %add one character for minus sign
     values_length = values_length+1;
 end
 headers_length = cellofchararraymaxlength(headers(2:end));
@@ -82,4 +82,4 @@ end
 
 for i=1:size(values,1)
     disp([sprintf(label_format_leftbound, labels{i}) sprintf(value_format, values(i,:))])
-end
\ No newline at end of file
+end