Index: tika-parsers/src/test/java/org/apache/tika/parser/rtf/RTFParserTest.java
===================================================================
--- tika-parsers/src/test/java/org/apache/tika/parser/rtf/RTFParserTest.java	(revision 1179194)
+++ tika-parsers/src/test/java/org/apache/tika/parser/rtf/RTFParserTest.java	(working copy)
@@ -293,6 +293,10 @@
         assertContains("our most <a href=\"http://r.office.microsoft.com/r/rlidwelcomeFAQ?clid=1033\">frequently asked questions</a>", content);
     }
 
+    public void testIgnoredControlWord() throws Exception {
+        assertContains("<p>The quick brown fox jumps over the lazy dog</p>", getXML("testRTFIgnoredControlWord.rtf").xml);
+    }
+
     private Result getResult(String filename) throws Exception {
         File file = getResourceAsFile("/test-documents/" + filename);
        
Index: tika-parsers/src/test/resources/test-documents/testRTFIgnoredControlWord.rtf
===================================================================
--- tika-parsers/src/test/resources/test-documents/testRTFIgnoredControlWord.rtf	(revision 0)
+++ tika-parsers/src/test/resources/test-documents/testRTFIgnoredControlWord.rtf	(revision 0)
@@ -0,0 +1,17 @@
+{\rtf1\ansi\deff1\adeflang1025
+{\fonttbl{\f0\froman\fprq2\fcharset0 Times;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fmodern\fprq1\fcharset0 Courier New;}{\f3\froman\fprq2\fcharset0 Times New Roman;}{\f4\fnil\fprq2\fcharset0 Interface User;}{\f5\fnil\fprq2\fcharset0 Lucidasans;}{\f6\fnil\fprq0\fcharset0 Lucidasans;}}
+{\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red128\green128\blue128;}
+{\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f1\fs24\lang1033\snext1 Default;}
+{\s2\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe255\loch\f1\fs24\lang1033\sbasedon1\snext2 Text body;}
+{\s3\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs24\lang255\ltrch\dbch\af1\afs24\langfe255\loch\f1\fs24\lang1033\sbasedon2\snext3 List;}
+{\s4\sb120\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs20\lang255\ai\ltrch\dbch\afs20\langfe255\ai\loch\f1\fs20\lang1033\i\sbasedon1\snext4 Caption;}
+{\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af6\afs24\lang255\ltrch\dbch\afs24\langfe255\loch\f1\fs24\lang1033\sbasedon1\snext5 Index;}
+{\*\cs7\cf0\rtlch\af2\afs24\lang255\ltrch\dbch\af2\afs24\langfe255\loch\f2\fs24\lang1033 Teletype;}
+{\*\cs8\cf2\ul\rtlch\afs24\lang255\ltrch\dbch\afs24\langfe255\loch\fs24\lang1033 Internet Link;}
+}
+{\info{\title test rft document}{\subject tests}{\creatim\yr2004\mo9\dy20\hr19\min36}{\revtim\yr1601\mo1\dy1\hr0\min0}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6450}}\deftab709
+{\*\pgdsctbl
+{\pgdsc0\pgdscuse195\pgwsxn11905\pghsxn16837\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\pgdscnxt0 Default;}}
+{\*\pgdscno0}\paperh16837\paperw11905\margl1800\margr1800\margt1440\margb1440\sectd\sbknone\pgwsxn11905\pghsxn16837\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
+\pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ql\rtlch\af5\afs24\lang255\ltrch\dbch\af4\afs24\langfe255\loch\f1\fs24\lang1033{\loch\f2\fs24\lang1033\i0\b0\*\cs7\cf0\rtlch\ltrch\dbch\loch\f2\fs24\lang1033 The quick brown fox jumps over the lazy dog}
+\par }
\ No newline at end of file

Property changes on: tika-parsers/src/test/resources/test-documents/testRTFIgnoredControlWord.rtf
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:eol-style
   + native

Index: tika-parsers/src/main/java/org/apache/tika/parser/rtf/TextExtractor.java
===================================================================
--- tika-parsers/src/main/java/org/apache/tika/parser/rtf/TextExtractor.java	(revision 1179194)
+++ tika-parsers/src/main/java/org/apache/tika/parser/rtf/TextExtractor.java	(working copy)
@@ -86,6 +86,8 @@
     private GroupState groupState = new GroupState();
 
     private boolean inHeader = true;
+    private int chIndex;
+    private int lastGroupStart;
     private int fontTableState;
     private int fontTableDepth;
 
@@ -336,6 +338,7 @@
                 pushBack = -2;
             } else {
                 b = in.read();
+                chIndex++;
             }
             if (b == -1) {
                 break;
@@ -625,7 +628,10 @@
             // after the 1987 RTF spec).  Note that
             // sometimes we un-ignore within this group, eg
             // when handling upr escape.
-            groupState.ignore = true;
+            if (chIndex == lastGroupStart+2) {
+                // Only ignore if \* comes right after {:
+                groupState.ignore = true;
+            }
             break;
         case '-':
             // Optional hyphen -> unicode SOFT HYPHEN
@@ -1007,6 +1013,8 @@
             uprState = 1;
             groupState.ignore = true;
         }
+
+        lastGroupStart = chIndex;
     }
 
     // Pop current GroupState
