diff --git a/src/fetch_series_by_api_link.m b/src/fetch_series_by_api_link.m
index d1da92a84eedf17ae4e9eaaa1f59b11bd3e0f7bf..cb3116e28a0a6f04545380641afb6b7485b2965f 100644
--- a/src/fetch_series_by_api_link.m
+++ b/src/fetch_series_by_api_link.m
@@ -67,7 +67,19 @@ else
                 dimension_label = dataset_dimensions_labels.(dimension_codes{jj});
                 flat_series.labels{jj, 1} = dimension_label;
                 dimension_value_code = regexprep(series_dims_by_dataset_code.(complete_dataset_code).(series_code).(dimension_codes{jj}),'[^a-zA-Z0-9]','_');
-                flat_series.labels{jj, 2} = dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}).(dimension_value_code);
+                if isstrprop(dimension_value_code(1), 'digit') %MATLAB doesn't allow struct fieldnames to start with a digit
+                    dimension_value_code = ['x' dimension_value_code];
+                end
+                try
+                    flat_series.labels{jj, 2} = dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}).(dimension_value_code);
+                catch
+                    for it = 1:size(dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}), 1)
+                        tmp = regexprep(dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}){it}{1}, '[^a-zA-Z0-9]', '_');
+                        if strcmp(tmp, dimension_value_code)
+                            flat_series.labels{jj, 2} = dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}){it}{2};
+                        end
+                    end
+                end
             end
         end
         % Create final cell array