diff --git a/Applications/Utils/FileConverter/NetCdfConverter.cpp b/Applications/Utils/FileConverter/NetCdfConverter.cpp
index c9dcbd8662bb1d667d4a50d38976d2abf0da9d9e..5dbe4c66fd310a46f7684896c4b8be9b7ffb1a90 100644
--- a/Applications/Utils/FileConverter/NetCdfConverter.cpp
+++ b/Applications/Utils/FileConverter/NetCdfConverter.cpp
@@ -426,18 +426,23 @@ static bool assignDimParams(NcVar const& var,
                      TCLAP::ValueArg<std::size_t>& arg_dim2,
                      TCLAP::ValueArg<std::size_t>& arg_dim3)
 {
-    if (arg_dim3.isSet() && !arg_dim2.isSet())
-    {
-        ERR("Parameter for dim2 is not set. Ignoring dimension parameters.");
-        return false;
-    }
-    if (!arg_dim1.isSet() || !arg_dim2.isSet())
+    std::size_t dim_param_count = 0;
+    if (arg_dim_time.isSet())
+        dim_param_count++;
+    if (arg_dim1.isSet())
+        dim_param_count++;
+    if (arg_dim2.isSet())
+        dim_param_count++;
+    if (arg_dim3.isSet())
+        dim_param_count++;
+
+    std::size_t const n_dims = var.getDimCount();
+    if (dim_param_count != n_dims)
     {
-        ERR("dim1 and dim2 need to be set for extracting mesh.");
+        ERR("Number of parameters set does not fit number of parameters for specified variable.");
         return false;
     }
 
-    std::size_t const n_dims = var.getDimCount();
     if (arg_dim_time.getValue() >= n_dims || arg_dim1.getValue() >= n_dims ||
         arg_dim2.getValue() >= n_dims || arg_dim3.getValue() >= n_dims)
     {
@@ -695,7 +700,7 @@ int main(int argc, char* argv[])
                 : timestepSelectionLoop(var, dim_idx_map[0]);
 
     bool use_single_file(true);
-    if (arg_time_start.isSet())
+    if (arg_time_start.isSet() && time_bounds.first != time_bounds.second)
     {
         use_single_file = arg_single_file.isSet();
     }