                     time_screen_saver=0; // dont show screen saver until we found a channel.
                 }
                 drawScreen.seekMode(state);
+
+                // return user to their saved channel after bandscan
+                if(state_last_used == STATE_SCAN || state_last_used == STATE_RSSI_SETUP) {
+                    channelIndex=EEPROM.read(EEPROM_ADR_TUNE);
+                }
 
                 first_channel_marker=1;
                 update_frequency_view=1;

                    channel+=seek_direction;
                    if (channel > CHANNEL_MAX)
                    {
                        channel=CHANNEL_MIN;
                    }
                    else if(channel < CHANNEL_MIN)
                    {
                        channel=CHANNEL_MAX;
                    }
                    channelIndex = pgm_read_byte_near(channelList + channel);
                }
            }

            setChannelModule(channelIndex);
            last_channel_index=channelIndex;
        }

        // print bar for spectrum
        wait_rssi_ready();
        // value must be ready
