Я не знаю почему это происходит, но display:inline-block; у ребенка помогает)
Слетит выравнивание по центру. Восстановить можно с помощью text-align:center; у родителя.
Все это костыли, думаю есть более элегантное решение.
UPD: display:inline-block; можно задать родителю.