diff --git a/pyhsmm/internals/hmm_messages.h b/pyhsmm/internals/hmm_messages.h
index f10e9b6233a365ff5bf4bdd56b756090ed952e37..a1f7bbca8add28529ca201f6a52cd5551077c537 100644
--- a/pyhsmm/internals/hmm_messages.h
+++ b/pyhsmm/internals/hmm_messages.h
@@ -154,7 +154,9 @@ namespace hmm
                 return -numeric_limits<Type>::infinity();
             }
 #endif
-            ein_potential = ealphan.row(t) * eAs.block(t*M*hetero,0,M,M);
+            if (likely(t != T-1)) {
+                ein_potential = ealphan.row(t) * eAs.block(t*M*hetero,0,M,M);
+            }
         }
         return logtot;
     }