last = strlen (pattern_enumerate_word);
 
-    if (c == '?' || c == '_') {
-       for (c = 'a'; c <= 'z'; c++) {
+    if (c == '?') {
+       for (c = 'A'; c <= 'Z'; c++) {
            pattern_enumerate_word[last] = c;
            pattern_enumerate (pattern_chunk + 1, dict_cursor_next (cursor, c));
        }
     for (i = 0; i < 52; i++) {
        p = puzzle[i];
        if (p < 26) {
-           puzzle_string[0] = 'a' + p;
+           puzzle_string[0] = 'A' + p;
            puzzle_string[1] = '?';
        } else {
            puzzle_string[0] = '?';
-           puzzle_string[1] = 'a' + (p - 26);
+           puzzle_string[1] = 'A' + (p - 26);
        }
        dict_init (&solution);
        pattern_expand (puzzle_string, &dict, &solution);