How do I reset divided pads w/o inserting brank ps page

I have a problem in getting rid of additional brank page when I put a single pad page in postscript after a divided pad page.
Following example ends up with 3 postscript page with one unnecessary brank page in the page 2.

Int_t test(){

TF1 * f = new TF1(“f”,“sin(x)”,-10,10);

TCanvas *c = new TCanvas(“c”,"",1);
TPostScript *ps = new TPostScript(“test.ps”,112);
ps->NewPage();

c->Divide(2,2);
c->cd(1) ; f->Draw(); c->Update();
c->cd(2) ; f->Draw(); c->Update();
c->cd(3) ; f->Draw(); c->Update();
c->cd(4) ; f->Draw(); c->Update();
c->Clear() ;

f->Draw(); c->Update();

ps->Close();

return 0;

}

All what you do between:

TPostScript *ps = new TPostScript(“test.ps”,112);

and:

ps->Close();

will be recorded in the PS file. Why don’t you simply do:

c->Print(“test.ps”);

when you page is ready, ie at the end of the macro ?