diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index 4b7d65c8ae7524a9edb03805bee01e7ca3a534ce..79b3e023a5f8b131f6bb58035d4c5c7bc8892f13 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -3237,6 +3237,11 @@ static bool create_partition_index_description(PART_PRUNE_PARAM *ppar)
 
     key_part->field=        (*field);
     key_part->image_type =  Field::itRAW;
+    /* 
+      We set keypart flag to 0 here as the only HA_PART_KEY_SEG is checked
+      in the RangeAnalysisModule.
+    */
+    key_part->flag=         0;
     /* We don't set key_parts->null_bit as it will not be used */
 
     ppar->is_part_keypart[part]= !in_subpart_fields;
diff --git a/sql/opt_range.h b/sql/opt_range.h
index 6f9c053cda296194767ba0fec5997fef8577bf35..170766c7c1086c29945d96ce5f6cf3b42da7e4bb 100644
--- a/sql/opt_range.h
+++ b/sql/opt_range.h
@@ -26,7 +26,9 @@
 
 typedef struct st_key_part {
   uint16           key,part, store_length, length;
-  uint8            null_bit, flag;
+  uint8            null_bit;
+  /* Keypart flags (0 if partition pruning is used) */
+  uint8 flag;
   Field            *field;
   Field::imagetype image_type;
 } KEY_PART;