diff --git a/sql/field.cc b/sql/field.cc
index f70a23e889a6baab2e0ce6c2892510b59b689747..bbd21247b8e714ef561b07b76e334f9d63dda291 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -5943,6 +5943,7 @@ Field *make_field(char *ptr, uint32 field_length,
     if (!f_is_packed(pack_flag))
     {
       if (field_type == FIELD_TYPE_STRING ||
+          field_type == FIELD_TYPE_DECIMAL ||   // 3.23 or 4.0 string
           field_type == FIELD_TYPE_VAR_STRING)
         return new Field_string(ptr,field_length,null_pos,null_bit,
                                 unireg_check, field_name, table,