Not always.
Then my previous criticism stands. You're looking at the consequences and deciding if the action is right or wrong based on that. You've got it backwards. You need to first decide what actions are right or wrong and then accept whatever consequences they entail.
Someone starving stealing food is not immoral either in my opinion.
Even if you steal as a matter of life and death, you should still be forced to pay restitution because it's still wrong. It's not something owed to you just because you are hungry. If it weren't wrong then you wouldn't be expected to pay for your crime.