diff --git a/extra/html/parser/state/state-tests.factor b/extra/html/parser/state/state-tests.factor
index a9be38c0b5..da70d0fa12 100644
--- a/extra/html/parser/state/state-tests.factor
+++ b/extra/html/parser/state/state-tests.factor
@@ -10,4 +10,5 @@ IN: html.parser.state.tests
 [ "hello" ] [ "hello" [ take-rest ] string-parse ] unit-test
 [ "hi" " how are you?" ] [ "hi how are you?" [ [ get-char blank? ] take-until take-rest ] string-parse ] unit-test
 [ "foo" ";bar" ] [ "foo;bar" [ CHAR: ; take-char take-rest ] string-parse ] unit-test
-! [ "foo " " bar" ] [ "foo and bar" [ "and" take-string take-rest ] string-parse ] unit-test
+[ "foo " " bar" ]
+[ "foo and bar" [ "and" take-string take-rest ] string-parse ] unit-test
diff --git a/extra/html/parser/state/state.factor b/extra/html/parser/state/state.factor
index 4b1027d338..cda601866e 100644
--- a/extra/html/parser/state/state.factor
+++ b/extra/html/parser/state/state.factor
@@ -29,13 +29,13 @@ TUPLE: state string i ;
     ] [ drop ] if ; inline recursive
 
 : take-until ( quot: ( -- ? ) -- )
-    [ get-i ] dip skip-until get-i
+    get-i [ skip-until ] dip get-i
     state get string>> subseq ;
 
 : string-matches? ( string circular -- ? )
-    get-char over push-circular sequence= ;
+    get-char over push-growing-circular sequence= ;
 
 : take-string ( match -- string )
-    dup length <circular-string>
+    dup length <growing-circular>
     [ 2dup string-matches? ] take-until nip
     dup length rot length 1- - head next ;