diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 # The build procedure, after a fresh checkout from the repository:
 
 #     make prep
-#     cabal install
+#     stack install --test
 #
 # 'make prep' generates the Haskell syntax parsers from kate
 # xml syntax definitions.
@@ -11,27 +11,22 @@
 .PHONY: prep all test clean distclean install prof
 
 all: prep
-	cabal configure -fexecutable --enable-tests
-	cabal build
+	stack build --install-ghc --test
 
 prof:
-	cabal configure --enable-library-profiling --enable-executable-profiling --disable-optimization -fexecutable
-	cabal build
+	stack build --library-profiling --executable-profiling --fast
 
-prep: clean ParseSyntaxFiles $(XMLS)
-	./ParseSyntaxFiles xml
+prep: clean $(XMLS)
+	stack install --install-ghc hxt regex-posix
+	stack runghc ./ParseSyntaxFiles.hs xml
 	@echo "Syntax parsers have been generated."
 	@echo "You may now use cabal to build the package."
 
 install:
-	cabal install
+	stack install
 
 test:
-	cabal test
-
-ParseSyntaxFiles: ParseSyntaxFiles.hs
-	cabal install HXT regex-posix
-	cabal exec ghc -- --make -Wall ParseSyntaxFiles.hs  # requires HXT >= 9.0.0
+	stack test
 
 clean:
 	rm -rf Text/Highlighting/Kate/Syntax/*
diff --git a/ParseSyntaxFiles.hs b/ParseSyntaxFiles.hs
--- a/ParseSyntaxFiles.hs
+++ b/ParseSyntaxFiles.hs
@@ -513,7 +513,7 @@
                                            , contLineEndContext = if null lineEndContext then "#stay" else lineEndContext
                                            , contLineBeginContext = if null lineBeginContext then "#stay" else lineBeginContext
                                            , contFallthrough = vBool False fallthrough
-                                           , contFallthroughContext = if null fallthroughContext then "#stay" else fallthroughContext
+                                           , contFallthroughContext = if null fallthroughContext then "#pop" else fallthroughContext
                                            , contDynamic = vBool False dynamic
                                            , contParsers = parsers }
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -21,10 +21,12 @@
 Rust Scala Scheme Sci Sed Sgml Sql SqlMysql SqlPostgresql Tcl
 Tcsh Texinfo Verilog Vhdl Xml Xorg Xslt Xul Yacc Yaml Zsh
 
-To install, use the cabal tool:
+To install, use the [stack] tool:
 
-    cabal install
+    stack install
 
+[stack]:  http://docs.haskellstack.org/en/stable/README/
+
 Note:  If you have checked out the source from the git repository,
 you will first need to do:
 
@@ -35,17 +37,19 @@
 
 To generate the documentation:
 
-    cabal haddock
+    stack haddock
 
 To run the test suite:
 
-    cabal test
+    stack test
 
 For an example of the use of the library, see highlighting-kate.hs.
-To compile this program along with the library, specify the 'executable'
-flag in the configure step above:
 
-    cabal install -fexecutable
+By default, this installation method will install an executable,
+`highlighting-kate`, along with the library.  Normally this is
+put into `$HOME/.local/bin`.  To avoid creation of the
+executable, use `--flag highlighting-kate:-executable` with the
+`stack` commands above.
 
 To run `highlighting-kate`, specify the language name using -s:
 
@@ -72,11 +76,8 @@
 
     make prep
 
-or
-
-    runghc ParseSyntaxFiles.hs xml
-
 Note that ParseSyntaxFiles.hs requires the HXT package (>= 9.0.0).
+`make prep` should install this automatically.
 
 To get the current Kate syntax highlighting files, clone the ktexteditor
 repository:
diff --git a/Text/Highlighting/Kate/Syntax/Scheme.hs b/Text/Highlighting/Kate/Syntax/Scheme.hs
--- a/Text/Highlighting/Kate/Syntax/Scheme.hs
+++ b/Text/Highlighting/Kate/Syntax/Scheme.hs
@@ -131,7 +131,7 @@
 parseRules ("Scheme","SpecialNumber") =
   (((pRegExpr regex_'5cd'2a'28'5c'2e'5cd'2b'29'3f >>= withAttribute DecValTok) >>~ (popContext))
    <|>
-   (currentContext >>= parseRules))
+   ((popContext) >> currentContext >>= parseRules))
 
 parseRules ("Scheme","String") =
   (((pKeyword " \n\t.(),%&;[]^{|}~" list_characters >>= withAttribute CharTok))
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,11 @@
+highlighting-kate 0.6.2.1 (01 Jul 2016)
+
+  * Use `#pop` instead of `#stay` if `fallthrough` is true but
+    no `fallthroughContext` is given (#89, fixing a hang on certain
+    scheme inputs).
+ * Use stack for default build (Makefile), document stack build
+   procedure (#87).
+
 highlighting-kate 0.6.2 (17 Mar 2016)
 
   * Added support for WordDetect (#86).
diff --git a/highlighting-kate.cabal b/highlighting-kate.cabal
--- a/highlighting-kate.cabal
+++ b/highlighting-kate.cabal
@@ -1,5 +1,5 @@
 Name:                highlighting-kate
-Version:             0.6.2
+Version:             0.6.2.1
 Cabal-Version:       >= 1.10
 Build-Type:          Simple
 Category:            Text
