A method of operation of a terminal in a satellite communication system comprising: a) receiving and storing, by the terminal, ephemeris data including validity data; b) scheduling at least one wake up time based on the stored ephemeris data for transmitting data or for receiving updated ephemeris data, wherein the terminal enters a sleep state between scheduled wake up times and is woken up at a scheduled wake up time; c) waking up the terminal at a scheduled wake up time and performing the following steps before going back to sleep: d) obtaining an estimate of the terminal's position and the global time; e) determining, based upon the terminal's position and global time estimate, if the stored ephemeris data is valid, recently valid or invalid; f) if the stored ephemeris data is valid then either transmitting data to a satellite or attempting to receive updated ephemeris data from a satellite; g) if the stored ephemeris data is recently valid, then estimating a set of possible satellite pass windows based on the stored ephemeris data and scheduling a set of warm wake up times during which the terminal is woken up to attempt to receive updated ephemeris data; h) if the ephemeris data is invalid then the terminal is scheduled to go to sleep and periodically wake up and attempt to receive updated ephemeris data with a period between wake up being less than an expected satellite pass duration, and if the attempt to receive updated ephemeris data was unsuccessful then the terminal goes back to sleep, and the terminal repeats this step until it successfully receives ephemeris data; i) wherein upon receiving updated ephemeris data in steps f), g) or h), the ephemeris data is stored and the scheduling step b) is repeated. a) receiving and storing, by the terminal, ephemeris data including validity data; b) scheduling at least one wake up time based on the stored ephemeris data for transmitting data or for receiving updated ephemeris data, wherein the terminal enters a sleep state between scheduled wake up times and is woken up at a scheduled wake up time; c) waking up the terminal at a scheduled wake up time and performing the following steps before going back to sleep: d) obtaining an estimate of the terminal's position and the global time; e) determining, based upon the terminal's position and global time estimate, if the stored ephemeris data is valid, recently valid or invalid; f) if the stored ephemeris data is valid then either transmitting data to a satellite or attempting to receive updated ephemeris data from a satellite; g) if the stored ephemeris data is recently valid, then estimating a set of possible satellite pass windows based on the stored ephemeris data and scheduling a set of warm wake up times during which the terminal is woken up to attempt to receive updated ephemeris data; h) if the ephemeris data is invalid then the terminal is scheduled to go to sleep and periodically wake up and attempt to receive updated ephemeris data with a period between wake up being less than an expected satellite pass duration, and if the attempt to receive updated ephemeris data was unsuccessful then the terminal goes back to sleep, and the terminal repeats this step until it successfully receives ephemeris data; i) wherein upon receiving updated ephemeris data in steps f), g) or h), the ephemeris data is stored and the scheduling step b) is repeated.