diff --git a/src/fns.c b/src/fns.c index 192711ec27c..556aaa38f28 100644 --- a/src/fns.c +++ b/src/fns.c @@ -870,9 +870,10 @@ internal_equal (o1, o2, depth) } if (XTYPE (o1) == Lisp_Marker) { - return (XMARKER (o1)->buffer == XMARKER (o2)->buffer - && XMARKER (o1)->bufpos == XMARKER (o2)->bufpos) - ? Qt : Qnil; + return ((XMARKER (o1)->buffer == XMARKER (o2)->buffer + && (NILP (XMARKER (o1)->buffer) + || XMARKER (o1)->bufpos == XMARKER (o2)->bufpos)) + ? Qt : Qnil); } if (XTYPE (o1) == Lisp_Vector || XTYPE (o1) == Lisp_Compiled)