diff --git a/src/encode.c b/src/encode.c
index 294dab7cbe761d25942a39e977a9db265405f427..508fa3cd9f7c241f211bd0044394c5569d870e86 100644
--- a/src/encode.c
+++ b/src/encode.c
@@ -1883,6 +1883,7 @@ void f_encode_value(INT32 args)
   initialize_buf(&data->buf);
   data->canonic = 0;
   data->encoded=allocate_mapping(128);
+  data->encoded->data->flags |= MAPPING_FLAG_NO_SHRINK;
   data->delayed = allocate_array (0);
   SET_SVAL(data->counter, T_INT, NUMBER_NUMBER, integer, COUNTER_START);