diff --git a/src/dfasearch.c b/src/dfasearch.c
index 04f26e4..370565d 100644
--- a/src/dfasearch.c
+++ b/src/dfasearch.c
@@ -69,22 +69,6 @@ dfawarn (char const *mesg)
     dfaerror (mesg);
 }
 
-/* Number of compiled fixed strings known to exactly match the regexp.
-   If kwsexec returns < kwset_exact_matches, then we don't need to
-   call the regexp matcher at all. */
-static size_t kwset_exact_matches;
-
-static char const *
-kwsincr_case (const char *must)
-{
-  size_t n = strlen (must);
-  mb_len_map_t *map = NULL;
-  const char *buf = (match_icase && MB_CUR_MAX > 1
-                     ? mbtolower (must, &n, &map)
-                     : must);
-  return kwsincr (kwset, buf, n);
-}
-
 /* If the DFA turns out to have some set of fixed strings one of
    which must occur in the match, then we build a kwset matcher
    to find those strings, and thus quickly filter out impossible
@@ -112,7 +96,7 @@ kwsmusts (void)
           if (!dm->exact)
             continue;
           ++kwset_exact_matches;
-          if ((err = kwsincr_case (dm->must)) != NULL)
+          if ((err = kwsincr (kwset, dm->must, strlen (dm->must))) != NULL)
             error (EXIT_TROUBLE, 0, "%s", err);
         }
       /* Now, we compile the substrings that will require
@@ -121,7 +105,7 @@ kwsmusts (void)
         {
           if (dm->exact)
             continue;
-          if ((err = kwsincr_case (dm->must)) != NULL)
+          if ((err = kwsincr (kwset, dm->must, strlen (dm->must))) != NULL)
             error (EXIT_TROUBLE, 0, "%s", err);
         }
       if ((err = kwsprep (kwset)) != NULL)
