diff --git a/fastbit/fastbit-ibis1.3.5/src/bord.h b/fastbit/fastbit-ibis1.3.5/src/bord.h
index 8abbbcc..d6b0f5d 100755
--- a/fastbit/fastbit-ibis1.3.5/src/bord.h
+++ b/fastbit/fastbit-ibis1.3.5/src/bord.h
@@ -627,6 +627,10 @@ protected:
     /// A dictionary.  It may be used with a column of type ibis::UINT or
     /// ibis::CATEGORY.  Normally, it is a nil pointer.
     const ibis::dictionary *dic;
+    // a new dictionary is created when append() is called on different source dictionaries.
+    // own_dic is used for memory management and as a non-const pointer
+    // so that new dictionaries can be merged in.
+    std::unique_ptr<ibis::dictionary> own_dic;
     /// Shape of the mesh for the data.  If it is empty, the data is
     /// assumed to be 1-Dimensional.  If the shape array is provided, it is
     /// assumed that the data values are in the typical C order, where the
