I Polly013,
try a select distinct, because if the select returns duplicated rows, it may have this behavior.
update hbincome
set inc_type = ''
where claim_id in (select distinct a.claim_id
from hbhousehold a, hbincome b
where a.claim_id = b.claim_id
and a.house_id = b.house_id
and a.to_date = '31.12.2099'
and b.inc_code in ('IBH','IBN','IBL','DLL','DLA','DLH')
and b.inc_type in ('18','19','HL','HR'));