The SNP Government is breaking a pledge to double the number of school nurses, Labour has said.
The Nationalists made the commitment going into the 2007 election which saw them win power from Labour and the Liberal Democrats.
The Government says millions of pounds will be targeted to support the health of pupils over the next two years.
But the 308 school nurses in 2007 rose to just 330 in 2009, according to figures obtained by Labour under Freedom of Information laws from health boards around the country.
Labour's Jackie Baillie said: "This is yet another example of a broken promise from the SNP. They promised to double the number of school nurses, but at the current rate of progress it will take them 27 years to meet their pledge.
"In many parts of Scotland, the number of school nurses has actually fallen in the past year. Ministers have completely failed to match their commitments with sufficient resources for the NHS or local councils to deliver them. The SNP's failure to deliver on school nurses is a real problem."
The figures also show only a marginal rise between 2008 and 2009 from 328 to 330. Some individual health boards actually saw a fall in school nurse numbers last year.
NHS Greater Glasgow and Clyde was down from 76 to 73 between 2008 and 2009. The numbers also fell in NHS Ayrshire and Arran from 37 to 35, and in NHS Dumfries and Galloway from 14 to 11.
But the Government pointed to recent figures on school nurses published by independent statisticians who do all health figures.
These indicate an increase from 221 in 2007 to 232 the following year and 257 in 2009. A Government spokeswoman said this represents a 16% increase from 2007 to 2009.