diff --git a/src/lib/shell/variables.rs b/src/lib/shell/variables.rs
index 15a75e940416d7e528bbe085de0da81a5d73d42d..928d4772dac0d65a13e41019c2b4a6d36f76f15a 100644
--- a/src/lib/shell/variables.rs
+++ b/src/lib/shell/variables.rs
@@ -313,6 +313,22 @@ pub(crate) mod tests {
         assert_eq!("BAR", &expanded);
     }
 
+    #[test]
+    fn set_var_with_nonalphanumerical_name() {
+        let mut variables = Variables::default();
+        variables.set("FOO!-", "BAR");
+        let expanded = VariableExpander(variables).expand_string("$FOO!-").unwrap().join("");
+        assert_eq!("BAR", &expanded);
+    }
+
+    #[test]
+    fn set_var_with_nonalphanumerical_braces_name() {
+        let mut variables = Variables::default();
+        variables.set("FOO!-", "BAR");
+        let expanded = VariableExpander(variables).expand_string("${FOO!-}").unwrap().join("");
+        assert_eq!("BAR", &expanded);
+    }
+
     #[test]
     #[serial]
     fn minimal_directory_var_should_compact_path() {