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.18
+version:	0.0.19
 stability:	alpha
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
diff --git a/src/Graphics/UI/GLUT/Turtle/TriangleTools.hs b/src/Graphics/UI/GLUT/Turtle/TriangleTools.hs
--- a/src/Graphics/UI/GLUT/Turtle/TriangleTools.hs
+++ b/src/Graphics/UI/GLUT/Turtle/TriangleTools.hs
@@ -28,7 +28,7 @@
 dol (a : ps@(b : ps'@(c : _)))
 	| online (a, b, c) = a : dol ps'
 	| otherwise = a : dol ps
-dol _ = error "dol: not implemented"
+dol p = error $ "dol: not implemented " ++ show p
 
 maximumIndex :: Ord a => [a] -> Int
 maximumIndex = fst . maximumIndexGen
diff --git a/src/Graphics/UI/GLUT/Turtle/Triangles.hs b/src/Graphics/UI/GLUT/Turtle/Triangles.hs
--- a/src/Graphics/UI/GLUT/Turtle/Triangles.hs
+++ b/src/Graphics/UI/GLUT/Turtle/Triangles.hs
@@ -3,7 +3,15 @@
 import Graphics.UI.GLUT.Turtle.TriangleTools
 
 toTriangles :: [Pos] -> [(Pos, Pos, Pos)]
-toTriangles = toTrianglesTop . deleteOnline
+toTriangles ps
+	| length ps < 3 = []
+	| otherwise = toTrianglesTop $ deleteOnline $ deletePoint ps
+
+deletePoint [] = []
+deletePoint [p] = [p]
+deletePoint pa@(p0 : ps)
+	| p0 == last ps = ps
+	| otherwise = pa
 
 toTrianglesTop :: [Pos] -> [(Pos, Pos, Pos)]
 toTrianglesTop [a, b, c] = [(a, b, c)]
diff --git a/tests/testGLUT.hs b/tests/testGLUT.hs
--- a/tests/testGLUT.hs
+++ b/tests/testGLUT.hs
@@ -43,4 +43,5 @@
 processInput _ t "hide" = hideturtle t >> return True
 processInput _ t "bred" = bgcolor t ((255, 0, 0) :: (Int, Int, Int)) >> return True
 processInput _ t "bgreen" = bgcolor t ((0, 255, 0) :: (Int, Int, Int)) >> return True
+processInput _ t "home" = goto t 0 0 >> return True
 processInput _ _ _ = return True
