diff --git a/models/boneload.py b/models/boneload.py
index e4fb3aecec1cbadc4753948eac4ed502817f2fba..eb5c66601633a32873965a4c6e85e27717e4ab8d 100644
--- a/models/boneload.py
+++ b/models/boneload.py
@@ -831,8 +831,12 @@ def build_clean_path(pts, sorted_v):
             p2 = fpath[i+1]
             d1 = (p1-p0)
             d2 = (p2-p1)
-            d1u = d1.normalized()
-            d2u = d2.normalized()
+            try:
+                d1u = d1.normalized()
+                d2u = d2.normalized()
+            except: # if d1 or d2 has 0 length
+                to_remove = i
+                break
             # print(f'd1u.cross(d2u)={abs(d1u.cross(d2u))}')
             if(abs(d1u.cross(d2u)) < 1.e-2):  # colinear
                 to_remove = i