diff --git a/TestPappy.hs b/TestPappy.hs
--- a/TestPappy.hs
+++ b/TestPappy.hs
@@ -488,10 +488,10 @@
 	testPappySubstressed_long_rafsi :: Result TestPappyDerivs (String),
 	testPappySuby_rafsi :: Result TestPappyDerivs (String),
 	testPappySuby_less_rafsi :: Result TestPappyDerivs (String),
-	testPappySubr_hyphen :: Result TestPappyDerivs (Char)}
+	testPappySubr_hyphen :: Result TestPappyDerivs (Char),
+	testPappySubfinal_syllable :: Result TestPappyDerivs (String)}
 
 data TestPappyDerivs5 = TestPappyDerivs5 {
-	testPappySubfinal_syllable :: Result TestPappyDerivs (String),
 	testPappySubstressed_syllable :: Result TestPappyDerivs (String),
 	testPappySubstressed_vowel :: Result TestPappyDerivs (Char),
 	testPappySubunstressed_syllable :: Result TestPappyDerivs (String),
@@ -523,10 +523,10 @@
 	testPappySubp :: Result TestPappyDerivs (Char),
 	testPappySubt :: Result TestPappyDerivs (Char),
 	testPappySubdigit :: Result TestPappyDerivs (Char),
-	testPappySubpost_word :: Result TestPappyDerivs (String)}
+	testPappySubpost_word :: Result TestPappyDerivs (String),
+	testPappySubPlusRule22 :: Result TestPappyDerivs ([Char])}
 
 data TestPappyDerivs6 = TestPappyDerivs6 {
-	testPappySubPlusRule22 :: Result TestPappyDerivs ([Char]),
 	testPappySubPlusRule23 :: Result TestPappyDerivs ([ String ]),
 	testPappySubStarRule236 :: Result TestPappyDerivs ([Char]),
 	testPappySubStarRule237 :: Result TestPappyDerivs ([Char]),
@@ -558,10 +558,10 @@
 	testPappySubGEhU :: Result TestPappyDerivs (String),
 	testPappySubGIhA :: Result TestPappyDerivs (String),
 	testPappySubGOI :: Result TestPappyDerivs (String),
-	testPappySubGOhA :: Result TestPappyDerivs (String)}
+	testPappySubGOhA :: Result TestPappyDerivs (String),
+	testPappySubGUhA :: Result TestPappyDerivs (String)}
 
 data TestPappyDerivs7 = TestPappyDerivs7 {
-	testPappySubGUhA :: Result TestPappyDerivs (String),
 	testPappySubJA :: Result TestPappyDerivs (String),
 	testPappySubJOhI :: Result TestPappyDerivs (String),
 	testPappySubJOI :: Result TestPappyDerivs (String),
@@ -593,10 +593,10 @@
 	testPappySubNOI :: Result TestPappyDerivs (String),
 	testPappySubNU :: Result TestPappyDerivs (String),
 	testPappySubNUhA :: Result TestPappyDerivs (String),
-	testPappySubNUhI :: Result TestPappyDerivs (String)}
+	testPappySubNUhI :: Result TestPappyDerivs (String),
+	testPappySubNUhU :: Result TestPappyDerivs (String)}
 
 data TestPappyDerivs8 = TestPappyDerivs8 {
-	testPappySubNUhU :: Result TestPappyDerivs (String),
 	testPappySubPA :: Result TestPappyDerivs (String),
 	testPappySubPEhE :: Result TestPappyDerivs (String),
 	testPappySubPEhO :: Result TestPappyDerivs (String),
@@ -606,6 +606,7 @@
 	testPappySubSE :: Result TestPappyDerivs (String),
 	testPappySubSEI :: Result TestPappyDerivs (String),
 	testPappySubSEhU :: Result TestPappyDerivs (String),
+	testPappySubSI :: Result TestPappyDerivs (String),
 	testPappySubSU :: Result TestPappyDerivs (String),
 	testPappySubTAhE :: Result TestPappyDerivs (String),
 	testPappySubTEhU :: Result TestPappyDerivs (String),
@@ -793,7 +794,7 @@
 testPappyy_rafsi = testPappySuby_rafsi . testPappySub4
 testPappyy_less_rafsi = testPappySuby_less_rafsi . testPappySub4
 testPappyr_hyphen = testPappySubr_hyphen . testPappySub4
-testPappyfinal_syllable = testPappySubfinal_syllable . testPappySub5
+testPappyfinal_syllable = testPappySubfinal_syllable . testPappySub4
 testPappystressed_syllable = testPappySubstressed_syllable . testPappySub5
 testPappystressed_vowel = testPappySubstressed_vowel . testPappySub5
 testPappyunstressed_syllable = testPappySubunstressed_syllable . testPappySub5
@@ -826,7 +827,7 @@
 testPappyt = testPappySubt . testPappySub5
 testPappydigit = testPappySubdigit . testPappySub5
 testPappypost_word = testPappySubpost_word . testPappySub5
-testPappyPlusRule22 = testPappySubPlusRule22 . testPappySub6
+testPappyPlusRule22 = testPappySubPlusRule22 . testPappySub5
 testPappyPlusRule23 = testPappySubPlusRule23 . testPappySub6
 testPappyStarRule236 = testPappySubStarRule236 . testPappySub6
 testPappyStarRule237 = testPappySubStarRule237 . testPappySub6
@@ -859,7 +860,7 @@
 testPappyGIhA = testPappySubGIhA . testPappySub6
 testPappyGOI = testPappySubGOI . testPappySub6
 testPappyGOhA = testPappySubGOhA . testPappySub6
-testPappyGUhA = testPappySubGUhA . testPappySub7
+testPappyGUhA = testPappySubGUhA . testPappySub6
 testPappyJA = testPappySubJA . testPappySub7
 testPappyJOhI = testPappySubJOhI . testPappySub7
 testPappyJOI = testPappySubJOI . testPappySub7
@@ -892,7 +893,7 @@
 testPappyNU = testPappySubNU . testPappySub7
 testPappyNUhA = testPappySubNUhA . testPappySub7
 testPappyNUhI = testPappySubNUhI . testPappySub7
-testPappyNUhU = testPappySubNUhU . testPappySub8
+testPappyNUhU = testPappySubNUhU . testPappySub7
 testPappyPA = testPappySubPA . testPappySub8
 testPappyPEhE = testPappySubPEhE . testPappySub8
 testPappyPEhO = testPappySubPEhO . testPappySub8
@@ -902,6 +903,7 @@
 testPappySE = testPappySubSE . testPappySub8
 testPappySEI = testPappySubSEI . testPappySub8
 testPappySEhU = testPappySubSEhU . testPappySub8
+testPappySI = testPappySubSI . testPappySub8
 testPappySU = testPappySubSU . testPappySub8
 testPappyTAhE = testPappySubTAhE . testPappySub8
 testPappyTEhU = testPappySubTEhU . testPappySub8
@@ -1118,9 +1120,9 @@
 	(testPappyParsey_rafsi dvs)
 	(testPappyParsey_less_rafsi dvs)
 	(testPappyParser_hyphen dvs)
+	(testPappyParsefinal_syllable dvs)
 
 testPappyDerivs5 dvs = TestPappyDerivs5
-	(testPappyParsefinal_syllable dvs)
 	(testPappyParsestressed_syllable dvs)
 	(testPappyParsestressed_vowel dvs)
 	(testPappyParseunstressed_syllable dvs)
@@ -1153,9 +1155,9 @@
 	(testPappyParset dvs)
 	(testPappyParsedigit dvs)
 	(testPappyParsepost_word dvs)
+	(testPappyParsePlusRule22 dvs)
 
 testPappyDerivs6 dvs = TestPappyDerivs6
-	(testPappyParsePlusRule22 dvs)
 	(testPappyParsePlusRule23 dvs)
 	(testPappyParseStarRule236 dvs)
 	(testPappyParseStarRule237 dvs)
@@ -1188,9 +1190,9 @@
 	(testPappyParseGIhA dvs)
 	(testPappyParseGOI dvs)
 	(testPappyParseGOhA dvs)
+	(testPappyParseGUhA dvs)
 
 testPappyDerivs7 dvs = TestPappyDerivs7
-	(testPappyParseGUhA dvs)
 	(testPappyParseJA dvs)
 	(testPappyParseJOhI dvs)
 	(testPappyParseJOI dvs)
@@ -1223,9 +1225,9 @@
 	(testPappyParseNU dvs)
 	(testPappyParseNUhA dvs)
 	(testPappyParseNUhI dvs)
+	(testPappyParseNUhU dvs)
 
 testPappyDerivs8 dvs = TestPappyDerivs8
-	(testPappyParseNUhU dvs)
 	(testPappyParsePA dvs)
 	(testPappyParsePEhE dvs)
 	(testPappyParsePEhO dvs)
@@ -1235,6 +1237,7 @@
 	(testPappyParseSE dvs)
 	(testPappyParseSEI dvs)
 	(testPappyParseSEhU dvs)
+	(testPappyParseSI dvs)
 	(testPappyParseSU dvs)
 	(testPappyParseTAhE dvs)
 	(testPappyParseTEhU dvs)
@@ -19232,7 +19235,13 @@
                 Parsed t d7 e7 ->
                   case testPappyu d7 of
                     Parsed u d9 e9 ->
-                      Parsed ( [t, u] ) d9 (maximum [e9,e7,e5])
+                      case testPappyh d9 of
+                        NoParse e11 ->
+                          case testPappyvowel d9 of
+                            NoParse e13 ->
+                              Parsed ( [t, u] ) d9 (maximum [e13,e11,e9,e7,e5])
+                            Parsed _ _ e13 -> pappyAlt5_33 (maximum [e13,e11,e9,e7,e5])
+                        Parsed _ _ e11 -> pappyAlt5_33 (maximum [e11,e9,e7,e5])
                     NoParse e9 -> pappyAlt5_33 (maximum [e9,e7,e5])
                 NoParse e7 -> pappyAlt5_33 (max e7 e5)
             pappyAlt5_33 e5 =
@@ -21557,8 +21566,8 @@
             NoParse e5 -> NoParse e5
     NoParse e1 -> NoParse e1
 
-testPappySI :: TestPappyDerivs -> Result TestPappyDerivs (String)
-testPappySI d =
+testPappyParseSI :: TestPappyDerivs -> Result TestPappyDerivs (String)
+testPappyParseSI d =
   case testPappycmavo d of
     Parsed _ _ e1 ->
       case pappyResult3 of
@@ -21571,7 +21580,13 @@
             Parsed s d5 e5 ->
               case testPappyi d5 of
                 Parsed i d7 e7 ->
-                  Parsed ( [s, i] ) d7 (max e7 e5)
+                  case testPappyh d7 of
+                    NoParse e9 ->
+                      case testPappyvowel d7 of
+                        NoParse e11 ->
+                          Parsed ( [s, i] ) d7 (maximum [e11,e9,e7,e5])
+                        Parsed _ _ e11 -> NoParse (maximum [e11,e9,e7,e5])
+                    Parsed _ _ e9 -> NoParse (maximum [e9,e7,e5])
                 NoParse e7 -> NoParse (max e7 e5)
             NoParse e5 -> NoParse e5
     NoParse e1 -> NoParse e1
diff --git a/lojbanParser.cabal b/lojbanParser.cabal
--- a/lojbanParser.cabal
+++ b/lojbanParser.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>= 1.6
 
 name:		lojbanParser
-version:	0.1
+version:	0.1.1
 stability:	experimental
 author:		.iocikun.juj. <PAF01143@nifty.ne.jp>
 maintainer:	.iocikun.juj. <PAF01143@nifty.ne.jp>
@@ -24,5 +24,5 @@
     other-modules: Preprocess LexerPappy Pos Parse TestPappy
 
 executable	testParser
-    main-is:		testPappy.hs
+    main-is:		testParser.hs
     build-depends:	base > 3 && < 5
diff --git a/testPappy.hs b/testPappy.hs
deleted file mode 100644
--- a/testPappy.hs
+++ /dev/null
@@ -1,8 +0,0 @@
-module Main where
-
-import Language.Lojban.Parser
-import System.Environment
-
-main = do
-	[str] <- getArgs
-	print $ parse str
diff --git a/testParser.hs b/testParser.hs
new file mode 100644
--- /dev/null
+++ b/testParser.hs
@@ -0,0 +1,8 @@
+module Main where
+
+import Language.Lojban.Parser
+import System.Environment
+
+main = do
+	[str] <- getArgs
+	print $ parse str
