ported r248:252 from hidra branch: