Index: uspace/drv/time/cmos-rtc/cmos-rtc.c
===================================================================
--- uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision e5fbe066054e93e9a6a849b87265928c4280b64b)
+++ uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision cb948777d1e9f0bfd6db7f9327f2b4e4d50760f3)
@@ -402,6 +402,8 @@
 	}
 
-	if (rtc_register_read(rtc, RTC_YEAR) < 100) {
-		/* The RTC epoch is year 2000 */
+	if (epoch == 2000) {
+		/* The RTC epoch is year 2000  but the tm_year
+		 * field counts years since 1900.
+		 */
 		t->tm_year -= 100;
 	}
@@ -467,5 +469,5 @@
 	else if (epoch == 2000 && t->tm_year < 100)
 		return EINVAL;
-	else if (t->tm_year < 0)
+	else if (t->tm_year < 0 || t->tm_year > 199)
 		return EINVAL;
 
