diff --git a/matlab/TCV_IMAS/ids2database.m b/matlab/TCV_IMAS/ids2database.m
index 312c1b7abee1274b9ab6c15015151e3fb7678e4b..2d5f18530c860c0529efb7bb9de31afb7c0fe55f 100644
--- a/matlab/TCV_IMAS/ids2database.m
+++ b/matlab/TCV_IMAS/ids2database.m
@@ -85,14 +85,9 @@ if isempty(dummy1)
   ids_full_list = tcv_available_ids;
   warning(['IDS_list not available, quick fix introducing list of ids available for TCV: ' fprintf('%s ',ids_full_list{:}) char(10)]);
 else
-  % differentiate between ids_list and IDS_list (which or exist not sufficient)
-  [dummy2]=fileparts(dummy1);
-  try
-    [dummy3]=ls(fullfile(dummy2,'ids_list.*'));
-    ids_full_list = ids_list;
-  catch
-    ids_full_list = IDS_list;
-  end
+  % get effective function between ids_list and IDS_list (which or exist not sufficient)
+  [dummy2,ids_list_eff]=fileparts(dummy1);
+  eval(['ids_full_list = ' ids_list_eff ';']);
 end
 ids_names_notok = setdiff(ids_names,ids_full_list);
 if ~isempty(ids_names_notok)