diff --git a/lib/sasacore/sasaState.ml b/lib/sasacore/sasaState.ml
index af3582a84b47b621351ef4f443e1e45bf2ac7d2c..371cde9d158509220647ea82d7bde7c54d2b55ff 100644
--- a/lib/sasacore/sasaState.ml
+++ b/lib/sasacore/sasaState.ml
@@ -27,9 +27,19 @@ let (string_to_data : string -> data_or_name) =
 let (to_list : 'v -> data_or_name list) =
   fun v -> 
     let str = Register.to_string v in
-    let lstr = Str.split  (Str.regexp "[ \t=]+") str in
-    let l = List.map string_to_data lstr in
-    l
+    let lstr = Str.split  (Str.regexp "[ \t]+") str in
+    let lstr = List.map
+        (fun str ->
+           match Str.split  (Str.regexp "[=]") str with
+           | [v] -> [string_to_data v]
+           | [n;v] -> [Name n; string_to_data v]
+           |  _ ->
+             let msg = Printf.sprintf "Bad format '%s' for printing state values" str in 
+             failwith msg
+        )
+        lstr
+    in
+    List.flatten lstr
 
 (* remove var name hints *)
 let (to_rif_data : 'v -> string) =