diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index 0982b4307a92762740633b517d84cbeb7a8f0ab7..b2a93227f739499d4cbda5f773394d4a62e76976 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -2595,7 +2595,9 @@ char *utimestr(time_t *intime)
 	}
 	if(gm->tm_hour>=12) {
 		strcpy(mer,"pm");
-		hour=gm->tm_hour-12;
+		hour=gm->tm_hour;
+		if (tm_hour > 12)
+			hour=gm->tm_hour-12;
 	}
 	else {
 		if(!gm->tm_hour)