In a letter to a constituent, Tory defence spokesman Julian Lewis compared the health risk of HIV infection from male homosexual activity to the danger of serving in a frontline position in the military, and said that 16-year-olds should be protected from both.
Home secretary Alan Johnson said that Dr Lewis's letter showed that the Tory frontbench team includes people ''who are evidently against any notion of homosexual equality''.
In his letter, Dr Lewis wrote: ''I was strongly against lowering the age of consent from 18 to 16. My reasoning was that there is a seriously increased risk of HIV infection arising from male homosexual activity.
''When it comes to legalising practices that involve serious physical risk, I believe the higher limit should apply. This is the reason why we no longer allow 16- and 17-year-olds into front-line situations in the Armed Forces, for example.
''On the other hand (though no-one seems to have noticed), I voted in favour of the civil partnerships bill. One of the criticisms commonly made of gay relationships is that very often they do not last. It therefore seems obvious to me that, when a gay couple wish to commit to each other, by forming a permanent relationship, they should be encouraged and assisted in every way.
''We are talking about adults and so my reservations about the age of consent issue do not apply.''
In his letter to Mr Cameron, Mr Johnson said: ''As a frontbench defence spokesperson for the Conservative Party, Mr Lewis is responsible for guiding your defence policy. That would include allowing gay people to join the military, which was a reform Labour introduced.
Mr Johnson added: ''You need to show some leadership and sack Mr Lewis. Otherwise your claim that the Conservative Party represents change will prove to be nothing but a shallow public relations exercise.''
A Conservative spokesman said: ''These are Dr Lewis' long-held and personal views, they are not the view of the Conservative Party and the terms in which he expressed them is wrong.
''Under this Labour government we have seen a massive increase in HIV infections and sexually transmitted diseases across all the population - straight and gay.
''Labour has failed to tackle the crisis in sexual health which is why a Conservative government would make it a priority. We would protect spending on public health and do more to give people the information they need to live healthy lives.''
Dr Lewis said: "This is desperate stuff from the Labour Party, given that they know perfectly well that on a free vote I chose to support the Civil Partnerships Bill on two separate occasions. Anyone reading my letter with an open mind can see that I am taking a reasoned and balanced view of these sensitive issues."