diff --git a/src/idl_gen_general.cpp b/src/idl_gen_general.cpp
index 79b4c2487a8eb712581b89a9d59fb15386b03af4..e9b8febb161688b9d37cae9e3232780e5fa2ca9e 100644
--- a/src/idl_gen_general.cpp
+++ b/src/idl_gen_general.cpp
@@ -1036,11 +1036,12 @@ class GeneralGenerator : public BaseGenerator {
           for (auto kit = fields.begin(); kit != fields.end(); ++kit) {
             auto &key_field = **kit;
             if (key_field.key) {
-              code += "  public " + sd.name + lang_.optional_suffix + " ";
+              auto qualified_name = WrapInNameSpace(sd);
+              code += "  public " + qualified_name + lang_.optional_suffix + " ";
               code += MakeCamel(field.name, lang_.first_camel_upper) + "ByKey(";
               code += GenTypeNameDest(key_field.value.type) + " key)";
               code += offset_prefix;
-              code += sd.name + ".__lookup_by_key(";
+              code += qualified_name + ".__lookup_by_key(";
               code += lang_.accessor_prefix + "__vector(o), key, ";
               code += lang_.accessor_prefix + "bb) : null; ";
               code += "}\n";