It sounds like maybe he was unhappy due to not being offered a contract earlier on, maybe he was happy about signing a new deal because he wants to stay at the club, but is unhappy with you. Maybe try loaning him out for a while, or if you want that player, make it clear he is a first team player and it may boost him, can't confirm it will work, but I have found with some players that they may take a little more time than others, also check his team status, is he set to not needed even though you are playing him all the time? Might be something like that which is making him unhappy.