diff --git a/compiler/hlcgobj.pas b/compiler/hlcgobj.pas index 0769645ff3..15ec4b57ea 100644 --- a/compiler/hlcgobj.pas +++ b/compiler/hlcgobj.pas @@ -4994,7 +4994,8 @@ implementation g_concatcopy(list,tparavarsym(p).vardef,href,localcopyloc.reference); end; { update localloc of varsym } - tg.Ungetlocal(list,tparavarsym(p).localloc.reference); + if tparavarsym(p).localloc.loc in [LOC_REFERENCE,LOC_CREFERENCE] then + tg.Ungetlocal(list,tparavarsym(p).localloc.reference); tparavarsym(p).localloc:=localcopyloc; tparavarsym(p).initialloc:=localcopyloc; end;