diff --git a/src/share/vm/ci/ciReplay.cpp b/src/share/vm/ci/ciReplay.cpp
--- a/src/share/vm/ci/ciReplay.cpp
+++ b/src/share/vm/ci/ciReplay.cpp
@@ -840,9 +840,8 @@
Handle value = java_lang_String::create_from_str(string_value, CHECK);
java_mirror->obj_field_put(fd.offset(), value());
} else if (field_signature[0] == 'L') {
- Symbol* klass_name = SymbolTable::lookup(field_signature, (int)strlen(field_signature), CHECK);
- KlassHandle kelem = resolve_klass(field_signature, CHECK);
- oop value = InstanceKlass::cast(kelem())->allocate_instance(CHECK);
+ KlassHandle k = resolve_klass(string_value, CHECK);
+ oop value = InstanceKlass::cast(k())->allocate_instance(CHECK);
java_mirror->obj_field_put(fd.offset(), value);
} else {
report_error("unhandled staticfield");
--- a/src/share/vm/ci/ciReplay.cpp
+++ b/src/share/vm/ci/ciReplay.cpp
@@ -840,9 +840,8 @@
Handle value = java_lang_String::create_from_str(string_value, CHECK);
java_mirror->obj_field_put(fd.offset(), value());
} else if (field_signature[0] == 'L') {
- Symbol* klass_name = SymbolTable::lookup(field_signature, (int)strlen(field_signature), CHECK);
- KlassHandle kelem = resolve_klass(field_signature, CHECK);
- oop value = InstanceKlass::cast(kelem())->allocate_instance(CHECK);
+ KlassHandle k = resolve_klass(string_value, CHECK);
+ oop value = InstanceKlass::cast(k())->allocate_instance(CHECK);
java_mirror->obj_field_put(fd.offset(), value);
} else {
report_error("unhandled staticfield");