diff --git a/gluturtle.cabal b/gluturtle.cabal
--- a/gluturtle.cabal
+++ b/gluturtle.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>= 1.6
 
 name:		gluturtle
-version:	0.0.36
+version:	0.0.37
 stability:	alpha
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
diff --git a/src/Graphics/UI/GLUT/Turtle/Field.hs b/src/Graphics/UI/GLUT/Turtle/Field.hs
--- a/src/Graphics/UI/GLUT/Turtle/Field.hs
+++ b/src/Graphics/UI/GLUT/Turtle/Field.hs
@@ -224,6 +224,7 @@
 fillRectangle _f _p _w _h _clr = return ()
 
 fillPolygon :: Field -> [Position] -> Color -> Color -> Double -> IO ()
+fillPolygon _ [] _ _ _ = error "fillPolygon: no points"
 fillPolygon f ps clr lc lw = do
 	atomicModifyIORef_ (fActions f) (Just (makePolygonAction f ps clr lc lw) :)
 	atomicModifyIORef_ (fUpdate f) (+ 1)
@@ -234,6 +235,7 @@
 --------------------------------------------------------------------------------
 
 drawCharacter :: Field -> Color -> Color -> [Position] -> Double -> IO ()
+drawCharacter _ _ _ [] _ = error "drawCharacter: no points"
 drawCharacter f fclr clr sh lw = do
 	makePolygonAction f sh fclr clr lw
 	writeIORef (fAction f) $ makePolygonAction f sh fclr clr lw
@@ -241,6 +243,7 @@
 
 drawCharacterAndLine ::	Field -> Color -> Color -> [Position] ->
 	Double -> Position -> Position -> IO ()
+drawCharacterAndLine _ _ _ [] _ _ _ = error "drawCharacterAndLine: no points"
 drawCharacterAndLine f fclr clr sh lw p q = do
 	writeIORef (fAction f) $
 		makeLineAction f lw clr p q >> makePolygonAction f sh fclr clr lw
