     scheduler.timer(TASK_ANNOUNCE, 0);    // start the announcements
 }
 
-static byte readSerial = 0;
-
 void loop () {
     // pollWaiting goes to low-power mode but also disables the serial port.
     // So we listen to the serial port for the first minute after boot.  If
     // we don't receive something in that time assume noone is there and
     // stop monitoring.
     byte event;
-    if( readSerial || millis() < 60000 ) {
+
+    if( !readSerial && millis() > 60000 )
+        useSerial = 0;
+    if( useSerial ) {
         while (Serial.available())
         {
             readSerial = 1;


        sendAnnouncement();
    } else if(event == TASK_REPORT) {
        // Transmit any buffered measurements
        myputs("\n=> ");
        for(byte j=0; j<databufferpos; j++) {
            myprintf("%X ", databuffer[j]);
        }
        myputs("\n");
        serialFlush();

        rf12_sleep(RF12_WAKEUP);
        rf12_sendNow(0, databuffer, databufferpos);

        return 1;
    }

    if(useSerial) {
        // Print measurements
        myprintf("%d: ", plug.port);
        for(byte j=0; j<dev->num_measurements; j++) {
            myprintf("%d, ", measurements[j]);
        }
        myputs("\n");
        serialFlush();
    }

    if(record) {
        bufferMeasurements(plug, measurements);
