diff --git a/lenses/shellvars.aug b/lenses/shellvars.aug
index 810a401..e89abd0 100644
--- a/lenses/shellvars.aug
+++ b/lenses/shellvars.aug
@@ -50,7 +50,7 @@ module Shellvars =
   (* but fairly close.                                                *)
   let simple_value =
     let empty_array = /\([ \t]*\)/ in
-      store (char* | dquot | squot | bquot | dollar_assign | empty_array)
+      store (char* | (dquot | squot)+ | bquot | dollar_assign | empty_array)
 
   let export = [ key "export" . Util.del_ws_spc ]
   let kv = [ Util.indent . export? . key key_re
diff --git a/lenses/tests/test_shellvars.aug b/lenses/tests/test_shellvars.aug
index 22ed581..ccdc755 100644
--- a/lenses/tests/test_shellvars.aug
+++ b/lenses/tests/test_shellvars.aug
@@ -81,6 +81,9 @@ unset ONBOOT    #   We do not want this var
   test Shellvars.lns get "var=\"ab#c\"\n" =
     { "var" = "\"ab#c\"" }
 
+  test Shellvars.lns get "ESSID='Joe'\"'\"'s net'\n" =
+    { "ESSID" = "'Joe'\"'\"'s net'" }
+
   (* For some reason, `` conflicts with comment_eol *)
   test Shellvars.lns get "var=`ab#c`\n" =
     { "var" = "`ab"
