diff --git a/src/xpdev/datewrap.c b/src/xpdev/datewrap.c
index 8a80ffda95fd794e1ffb1f212cd33b5dc6d09e36..0a056e95ca28e42c4f828713a2e9fb230228858a 100644
--- a/src/xpdev/datewrap.c
+++ b/src/xpdev/datewrap.c
@@ -70,7 +70,8 @@ time32_t time32(time32_t* tp)
 	uint32_t t32;
 
 	t=time(NULL);
-	t32 = t & UINT32_MAX;
+	/* coverity[store_truncates_time_t] */
+	t32 = t;
 
 	if(tp!=NULL)
 		*tp=(time32_t)t32;
@@ -81,7 +82,8 @@ time32_t time32(time32_t* tp)
 time32_t mktime32(struct tm* tm)
 {
 	time_t t = mktime(tm);
-	uint32_t t32 = t & UINT32_MAX;
+	/* coverity[store_truncates_time_t] */
+	uint32_t t32 = t;
 	return (time32_t)t32;	/* don't use sane_mktime since tm->tm_mon is assumed to be already zero-based */
 }