glPushMatrix

I’m doing a program witch is switching between Ortho(fot text) and Perpective(everything else) mode can I do following ?
set projection;
glPushMartix();
set to ortho mode
set modelview;
draw text;
set projection;
glPopMatrix(); //will it restore the matrix i was using before ?

this is how i have it and it works fine. i intially have ortho then i change it to perspective.

initial projection (ortho)…

glMatrixMode(GL_PROJECTION)

    glPushMatrix()

    glLoadIdentity()
    gluPerspective(msngFieldOfView, msngAspectRatio, mdblNearField, mdblFarField)

    glPushMatrix()

    glMatrixMode(GL_MODELVIEW)
    glLoadIdentity()

    glPushMatrix()


glPopMatrix()
glPopMatrix()
glPopMatrix()

    glFinish()      'finish

    'swap the buffers
    SwapBuffers(mlngPic1hDC)