diff --git a/lib/galaxy/tool_util/xsd/galaxy.xsd b/lib/galaxy/tool_util/xsd/galaxy.xsd
index 7f32306bdde..fa436411505 100644
--- a/lib/galaxy/tool_util/xsd/galaxy.xsd
+++ b/lib/galaxy/tool_util/xsd/galaxy.xsd
@@ -4121,7 +4121,7 @@ used to generate dynamic options.
- Ignore lines starting with the given string.
+ Keep only lines starting with the given string.
diff --git a/lib/galaxy/tools/parameters/dynamic_options.py b/lib/galaxy/tools/parameters/dynamic_options.py
index 803d54349f6..878236325a5 100644
--- a/lib/galaxy/tools/parameters/dynamic_options.py
+++ b/lib/galaxy/tools/parameters/dynamic_options.py
@@ -645,7 +645,7 @@ class DynamicOptions:
rval = []
field_count = None
for line in reader:
- if line.startswith("#") or (self.line_startswith and line.startswith(self.line_startswith)):
+ if line.startswith("#") or (self.line_startswith and not line.startswith(self.line_startswith)):
continue
line = line.rstrip("\n\r")
if line:
diff --git a/test/functional/tools/select_from_csvdataset.xml b/test/functional/tools/select_from_csvdataset.xml
index 6ca646a1db3..e1e1aac443d 100644
--- a/test/functional/tools/select_from_csvdataset.xml
+++ b/test/functional/tools/select_from_csvdataset.xml
@@ -6,7 +6,7 @@ echo select_single '$select_single' > '$output'
-
+
@@ -29,11 +29,15 @@ echo select_single '$select_single' > '$output'
-
+
+
+
+
+