diff --git a/basis/furnace/chloe-tags/chloe-tags.factor b/basis/furnace/chloe-tags/chloe-tags.factor
index 2bdaacdcba..d7d9ae9ebb 100644
--- a/basis/furnace/chloe-tags/chloe-tags.factor
+++ b/basis/furnace/chloe-tags/chloe-tags.factor
@@ -19,6 +19,7 @@ http
http.server
http.server.redirection
http.server.responses
+io.streams.string
furnace.utilities ;
IN: furnace.chloe-tags
@@ -80,16 +81,12 @@ CHLOE: a
CHLOE: base
compile-a-url [ [XML /> XML] ] [xml-code] ;
-USE: io.streams.string
-
: compile-hidden-form-fields ( for -- )
'[
- [
- _ [ "," split [ hidden render ] each ] when*
- nested-forms get " " join f like nested-forms-key hidden-form-field
- [ modify-form ] each-responder
- ] with-string-writer
- [XML <->
XML]
+ _ [ "," split [ hidden render>xml ] map ] [ f ] if*
+ nested-forms get " " join f like nested-forms-key hidden-form-field>xml
+ [ [ modify-form ] each-responder ] with-string-writer
+ [XML <-><-><->
XML]
] [code] ;
: (compile-form-attrs) ( method action -- )
diff --git a/basis/furnace/utilities/utilities.factor b/basis/furnace/utilities/utilities.factor
index 716e708303..a2d4c4d996 100755
--- a/basis/furnace/utilities/utilities.factor
+++ b/basis/furnace/utilities/utilities.factor
@@ -81,11 +81,13 @@ GENERIC: modify-form ( responder -- )
M: object modify-form drop ;
-: hidden-form-field ( value name -- )
+: hidden-form-field>xml ( value name -- xml )
over [
[XML name=<->/> XML]
- write-xml
- ] [ 2drop ] if ;
+ ] [ drop ] if ;
+
+: hidden-form-field ( value name -- )
+ hidden-form-field>xml write-xml ;
: nested-forms-key "__n" ;
diff --git a/basis/html/templates/chloe/chloe-tests.factor b/basis/html/templates/chloe/chloe-tests.factor
index 184f57051a..4e454dcee4 100644
--- a/basis/html/templates/chloe/chloe-tests.factor
+++ b/basis/html/templates/chloe/chloe-tests.factor
@@ -135,7 +135,7 @@ TUPLE: person first-name last-name ;
[ ] [ H{ { "a" H{ { "b" "c" } } } } values set ] unit-test
-[ "" ] [
+[ "" ] [
[
"test10" test-template call-template
] run-template