diff --git a/src/openrct2/object/AudioSampleTable.cpp b/src/openrct2/object/AudioSampleTable.cpp index 2b80f8c448..235bb7266a 100644 --- a/src/openrct2/object/AudioSampleTable.cpp +++ b/src/openrct2/object/AudioSampleTable.cpp @@ -40,10 +40,18 @@ void AudioSampleTable::ReadFromJson(IReadObjectContext* context, const json_t& r } else if (jSample.is_object()) { - sourceInfo = ParseSource(jSample.at("source").get()); - if (jSample.contains("modifier")) + auto& jSource = jSample.at("source"); + if (jSource.is_string()) { - modifier = jSample.at("modifier").get(); + sourceInfo = ParseSource(jSource.get()); + if (jSample.contains("modifier")) + { + auto& jModifier = jSample.at("modifier"); + if (jModifier.is_number()) + { + modifier = jModifier.get(); + } + } } }