diff --git a/src/maggotuba/models/trainers.py b/src/maggotuba/models/trainers.py
index aba17748fb6256dcd9c453da168b45d0e0b5a2d7..19b827ded7f2eac649692003be5747ec2314c1f4 100644
--- a/src/maggotuba/models/trainers.py
+++ b/src/maggotuba/models/trainers.py
@@ -5,6 +5,7 @@ from behavior_model.models.neural_nets import device
 #import behavior_model.data.utils as data_utils
 from maggotuba.models.modules import SupervisedMaggot, MultiscaleSupervisedMaggot, MaggotBag
 from taggingbackends.features.skeleton import interpolate
+import logging
 
 """
 This model borrows the pre-trained MaggotUBA encoder, substitute a dense layer
@@ -94,7 +95,11 @@ class MaggotTrainer:
         w = w - np.tile(wc, (1, 5))
         # rotate
         v = np.mean(w[:,8:10] - w[:,0:2], axis=0)
-        v = v / np.sqrt(np.dot(v, v))
+        vnorm = np.sqrt(np.dot(v, v))
+        if vnorm == 0:
+            logging.warning('null distance between head and tail')
+        else:
+            v = v / vnorm
         c, s = v / self.average_body_length # scale using the rotation matrix
         rot = np.array([[ c, s],
                         [-s, c]]) # clockwise rotation