diff --git a/matlab/TCV_IMAS/tcv2ids2database.m b/matlab/TCV_IMAS/tcv2ids2database.m
index 09337c1655e9a582d1c183fae349efa6925da969..9166d42d3cb3b839076f7e15aa0bd33d158735a2 100644
--- a/matlab/TCV_IMAS/tcv2ids2database.m
+++ b/matlab/TCV_IMAS/tcv2ids2database.m
@@ -54,9 +54,9 @@ p.addOptional('error_bar', 'delta', @(x) isempty(x) || ischar(x) ); % char or ce
 p.addOptional('tree_user', getenv('USER'), @(x) isempty(x) || ischar(x) ); % char
 p.addOptional('tree_tokamak', 'tcv', @(x) isempty(x) || ischar(x) ); % char
 p.addOptional('tree_majorversion', '3', @(x) isempty(x) || ischar(x) ); % char
-p.addOptional('cocos_out', 11, @(x) isempty(x) || isnumeric(x) ); % char
-p.addOptional('ipsign_out', 0, @(x) isempty(x) || (x==0 | x==-1 | x==+1) ); % char
-p.addOptional('b0sign_out', 0, @(x) isempty(x) || (x==0 | x==-1 | x==+1) ); % char
+p.addOptional('cocos_out', 11, @(x) isempty(x) || isnumeric(x) );
+p.addOptional('ipsign_out', 0, @(x) isempty(x) || (isscalar(x) && (x==0 || x==-1 || x==+1)) );
+p.addOptional('b0sign_out', 0, @(x) isempty(x) || (isscalar(x) && (x==0 || x==-1 || x==+1)) );
 p.addOptional('nverbose', 1, @(x) isempty(x) || isnumeric(x) );
 p.addOptional('time_out', [], @(x) isempty(x) || isnumeric(x) );
 p.addOptional('trialindx', [], @(x) isempty(x) || isnumeric(x) );