NL50 shorthanded

I limped in pf with 55 in late position, button bets 4bb, sb calls and I call.

board came

5h - Kh - 9s

sb checks
I check,
dealer bets $2
sb raises to $9

I call, hoping to take button along for the ride.

button folds, turn is 7s

sb goes all in.

Here I'm thinking that he either has two pair (k9) or he's on a heart-draw semibluff, i'm also considiring that he has a higher set. This is the first hand on the table so no read on the guy. I hope for the best and call. He shows 99 for the higher set and takes the pot.

Did I do something wrong here? I've seen players do this move with AK aswells as heartdraws in similiar situations so calling here must be +EV right? What are the odds that two players hitting a set on the flop in a short handed game?