diff --git a/src/app/core/registry/registry.service.ts b/src/app/core/registry/registry.service.ts index 8fa1ca893a..137b4c3a87 100644 --- a/src/app/core/registry/registry.service.ts +++ b/src/app/core/registry/registry.service.ts @@ -196,7 +196,8 @@ export class RegistryService { const metadatafieldsObs: Observable = rmrObs.pipe( map((rmr: RegistryMetadatafieldsResponse) => rmr.metadatafields), - map((metadataFields: MetadataField[]) => metadataFields) + /* Make sure to explicitly cast this into a MetadataField object, on first page loads this object comes from the object cache created by the server and its prototype is unknown */ + map((metadataFields: MetadataField[]) => metadataFields.map((metadataField: MetadataField) => Object.assign(new MetadataField(), metadataField))) ); const pageInfoObs: Observable = requestEntryObs.pipe(