diff --git a/src/multibody/model.hxx b/src/multibody/model.hxx
index 3d7616bc289b03afc8fdf420fb20da723a202f29..494ffc36a4b90a8149661c8d499f08936b63c1e8 100644
--- a/src/multibody/model.hxx
+++ b/src/multibody/model.hxx
@@ -233,8 +233,8 @@ namespace pinocchio
     = std::find_if(frames.begin()
                    ,frames.end()
                    ,details::FilterFrame(name, type));
-    assert(it != frames.end() && "Frame not found");
-    assert((std::find_if( boost::next(it), frames.end(), details::FilterFrame(name, type)) == frames.end())
+    assert(((it == frames.end()) ||
+            (std::find_if( boost::next(it), frames.end(), details::FilterFrame(name, type)) == frames.end()))
         && "Several frames match the filter");
     return FrameIndex(it - frames.begin());
   }