diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc
index 6e01330a85ee60eeb9e55729e8e50c8665b05533..7b5197c34b3d0ae20f5515e15e9c22ecf88ecc5f 100644
--- a/sql/ha_ndbcluster.cc
+++ b/sql/ha_ndbcluster.cc
@@ -1368,15 +1368,17 @@ int ha_ndbcluster::drop_indexes(Ndb *ndb, TABLE *tab)
 */
 NDB_INDEX_TYPE ha_ndbcluster::get_index_type_from_table(uint inx) const
 {
-  return get_index_type_from_key(inx, table_share->key_info);
+  return get_index_type_from_key(inx, table_share->key_info,
+                                 inx == table_share->primary_key);
 }
 
 NDB_INDEX_TYPE ha_ndbcluster::get_index_type_from_key(uint inx,
-                                                      KEY *key_info) const
+                                                      KEY *key_info,
+                                                      bool primary) const
 {
   bool is_hash_index=  (key_info[inx].algorithm == 
                         HA_KEY_ALG_HASH);
-  if (inx == table_share->primary_key)
+  if (primary)
     return is_hash_index ? PRIMARY_KEY_INDEX : PRIMARY_KEY_ORDERED_INDEX;
   
   return ((key_info[inx].flags & HA_NOSAME) ? 
@@ -4645,7 +4647,7 @@ int ha_ndbcluster::add_index(TABLE *table_arg,
     KEY *key= key_info + idx;
     KEY_PART_INFO *key_part= key->key_part;
     KEY_PART_INFO *end= key_part + key->key_parts;
-    NDB_INDEX_TYPE idx_type= get_index_type_from_key(idx, key);
+    NDB_INDEX_TYPE idx_type= get_index_type_from_key(idx, key, false);
     DBUG_PRINT("info", ("Adding index: '%s'", key_info[idx].name));
     // Add fields to key_part struct
     for (; key_part != end; key_part++)
diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h
index 7498d2bb6248675a65c119af5067d98557e8781e..6fde3be3542e5b507210f1ed165b42af6b0b3b84 100644
--- a/sql/ha_ndbcluster.h
+++ b/sql/ha_ndbcluster.h
@@ -722,7 +722,8 @@ static void set_tabname(const char *pathname, char *tabname);
   void release_metadata();
   NDB_INDEX_TYPE get_index_type(uint idx_no) const;
   NDB_INDEX_TYPE get_index_type_from_table(uint index_no) const;
-  NDB_INDEX_TYPE get_index_type_from_key(uint index_no, KEY *key_info) const;
+  NDB_INDEX_TYPE get_index_type_from_key(uint index_no, KEY *key_info, 
+                                         bool primary) const;
   int check_index_fields_not_null(uint index_no);
 
   uint set_up_partition_info(partition_info *part_info,