diff --git a/src/bignum.c b/src/bignum.c
index 965136f9ffa1b0e98e83962bf81a6fc5f5f1bca7..849237dd2a0db04cf08ab6d6490eddf23b180d59 100644
--- a/src/bignum.c
+++ b/src/bignum.c
@@ -22,6 +22,7 @@ static void resolve_auto_bignum_program(void)
     
     auto_bignum_program=sp[-1];
     sp--;
+    dmalloc_touch_svalue(sp);
   }
 }
 
@@ -91,6 +92,7 @@ void convert_svalue_to_bignum(struct svalue *s)
   free_svalue(s);
   *s=sp[-1];
   sp--;
+  dmalloc_touch_svalue(sp);
 }
 
 #endif /* AUTO_BIGNUM */
diff --git a/src/cpp.c b/src/cpp.c
index e01928b6e5a0cb96dac1f2d8bace42a26e0b4fb6..70f4ea391c55e091c9ea65e131de928d6d1cdcbf 100644
--- a/src/cpp.c
+++ b/src/cpp.c
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: cpp.c,v 1.54 1999/10/15 23:53:44 noring Exp $
+ * $Id: cpp.c,v 1.55 1999/10/24 13:36:02 grubba Exp $
  */
 #include "global.h"
 #include "language.h"
@@ -1084,6 +1084,7 @@ void f_cpp(INT32 args)
 	}
 	data = sp[-1].u.string;
 	sp--;
+	dmalloc_touch_svalue(sp);
       } else if (sp[2-args].type == T_INT) {
 	auto_convert = sp[2-args].u.integer;
       } else {