diff --git a/src/ariths.c b/src/ariths.c
index 743e91f6fd..ebf8f23f94 100644
--- a/src/ariths.c
+++ b/src/ariths.c
@@ -1741,7 +1741,7 @@ static Int InitKernel (
assert(ZeroMutFuncs[t1] == 0);
ZeroMutFuncs[t1] = ZeroMutObject;
}
- InstallZeroObject(0);
+ InstallZeroMutObject(0);
/* make and install the 'AINV' arithmetic operation */
for ( t1 = FIRST_REAL_TNUM; t1 <= LAST_REAL_TNUM; t1++ ) {
diff --git a/src/opers.c b/src/opers.c
index 16b2ece5d4..18de957f43 100644
--- a/src/opers.c
+++ b/src/opers.c
@@ -3943,10 +3943,16 @@ void ChangeDoOperations (
if ( oper == PowOper ) { InstallPowObject(verb); }
if ( oper == CommOper ) { InstallCommObject(verb); }
if ( oper == ModOper ) { InstallModObject(verb); }
+
if ( oper == InvOp ) { InstallInvObject(verb); }
if ( oper == OneOp ) { InstallOneObject(verb); }
if ( oper == AInvOp ) { InstallAinvObject(verb); }
- if ( oper == ZeroOp ) { InstallZeroObject(verb); }
+ if ( oper == ZEROOp ) { InstallZeroObject(verb); }
+
+ if ( oper == InvMutOp ) { InstallInvMutObject(verb); }
+ if ( oper == OneMutOp ) { InstallOneMutObject(verb); }
+ if ( oper == AdditiveInverseOp ) { InstallAinvMutObject(verb); }
+ if ( oper == ZeroOp ) { InstallZeroMutObject(verb); }
/* be verbose */
if ( verb ) {
diff --git a/src/range.c b/src/range.c
index bcdb5948f0..95f32ad17d 100644
--- a/src/range.c
+++ b/src/range.c
@@ -623,21 +623,6 @@ Obj PosRange (
}
}
- /* I have no idea how a record can ever be equal to an integer. I'll leave
- * the code in comments for a while, in case someone digs out what this is
- * good for. FL
- * */
- /* for a record compare every entry */
-/* else if ( TNUM_OBJ(val) == T_PREC ) {
- for ( k = istart+1; k <= lenList; k++ ) {
- if ( EQ( INTOBJ_INT( low + (k-1) * inc ), val ) )
- break;
- }
- if ( lenList < k ) {
- k = 0;
- }
- } */
-
/* otherwise it can not be an element of the range */
else {
k = 0;
diff --git a/tst/test-error/trace.g b/tst/test-error/trace.g
new file mode 100644
index 0000000000..3f3be03bfb
--- /dev/null
+++ b/tst/test-error/trace.g
@@ -0,0 +1,9 @@
+m:=ImmutableMatrix(GF(2),IdentityMat(2,GF(2)));;
+
+InverseMutable(m);
+TraceMethods(InverseMutable);
+InverseMutable(m);
+
+AdditiveInverseMutable(m);
+TraceMethods(AdditiveInverseMutable);
+AdditiveInverseMutable(m);
diff --git a/tst/test-error/trace.g.out b/tst/test-error/trace.g.out
new file mode 100644
index 0000000000..388b1ed3a9
--- /dev/null
+++ b/tst/test-error/trace.g.out
@@ -0,0 +1,16 @@
+gap> m:=ImmutableMatrix(GF(2),IdentityMat(2,GF(2)));;
+gap>
+gap> InverseMutable(m);
+
+gap> TraceMethods(InverseMutable);
+gap> InverseMutable(m);
+#I InverseMutable: for GF2 matrix at src/vecgf2.c:fail
+
+gap>
+gap> AdditiveInverseMutable(m);
+
+gap> TraceMethods(AdditiveInverseMutable);
+gap> AdditiveInverseMutable(m);
+#I AdditiveInverseMutable: for GF2 matrix at GAPROOT/lib/vecmat.gi:763
+
+gap> QUIT;