I think you are right. I tried it and it seems to reset the viewport after each SetBuffer()
Graphics 800, 600, 0, 2 SetBuffer BackBuffer() Viewport 0, 0, 400, 300 ClsColor 0, 255, 0 Cls im = CreateImage(400, 300) SetBuffer ImageBuffer(im) SetBuffer BackBuffer() Viewport 0, 0, 400, 300 Cls For i = 0 To 1000 Text 0, i * 20, "orituierutooreiuwtoiureiouoituroiewuoituoirewuigthdjkfshglkjhfdskhjgkhfdsjkhgkjhfdksjhgkjfdjskhg" Next Flip WaitKey() End