[SalesForce] How to only Rerender if not Rendered yet

I like to render an iFrame in my page if some batches are done.
But only like to render it once.

what I tried before, makes it rerendering all 5 seconds:

<apex:form >
    <apex:actionPoller rerender="iFrame,someOthers" interval="5" action="{!updateProgress}" />
    <apex:someCode id="someOthers"/>
    <apex:iframe src="{!frameUrl}" id="iframe" height="50px" width="100%" rendered="{!loadFrame}" />
</apex:form>

So What I'm looking for should do something like:

if (someWorkDone && iFrame is not shown yet)
    iFrame rendered = true; (but never rerender it)

EDIT:
Solution with help of Adrian & Tim:

<apex:outputPanel id="container">
    <apex:form>
        <apex:actionPoller rendered="{!NOT(frameShown)}" rerender="container" interval="5" action="{!updateProgress}" />
        <apex:actionPoller rendered="{!frameShown}" rerender="someOthers" interval="5" action="{!updateProgress}" />
        <apex:someCode id="someOthers"/>
        <apex:iframe src="{!frameUrl}" id="iframe" height="50px" width="100%" rendered="{!frameShown}" />
    </apex:form>
</apex:outputPanel>

Best Answer

If you give your <apex:form> tag an id, you can rerender that and have updateProgress set some sort of flag variable. Something like:

<apex:form id="apexForm">
    <apex:actionPoller rendered="{!alreadyRerendered}" rerender="someOthers" interval="5" action="{!updateProgress}" />
    <apex:actionPoller rendered="{!NOT(alreadyRendered)}" rerender="apexForm" interval="5" action="{!updateProgress}" />
    <apex:someCode id="someOthers"/>
    <apex:iframe src="{!frameUrl}" id="iframe" height="50px" width="100%" rendered="{!loadFrame}" />
</apex:form>

Then just have your updateProgress method setalreadyRendered = true.