diff --git a/src/SerializedObject.cpp b/src/SerializedObject.cpp index e2f3cbeab3..4834a1f3f5 100644 --- a/src/SerializedObject.cpp +++ b/src/SerializedObject.cpp @@ -718,7 +718,8 @@ STArray* STArray::construct(SerializerIterator& sit, SField::ref field) if (fn.isInvalid()) throw std::runtime_error("Unknown field"); - value.push_back(*STObject::makeDeserializedObject(fn.fieldType, fn, sit, 1)); + value.push_back(STObject(fn)); + value.rbegin()->set(sit, 1); } return new STArray(field, value);