diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c
index 864fede75b74e31022dcfb9beba32fc8d05e79f6..fa6bb88289a71aee497765ec39f0d668f4d9ac24 100644
--- a/src/backend/utils/adt/datetime.c
+++ b/src/backend/utils/adt/datetime.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v 1.83 2001/12/29 18:31:29 thomas Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v 1.84 2001/12/29 18:40:58 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -959,18 +959,18 @@ DecodeDateTime(char **field, int *ftype, int nf,
 					if (tzp == NULL)
 						return -1;
 
-					if (ptype != 0)
-					{
-						/* Sanity check; should not fail this test */
-						if (ptype != DTK_TIME)
-							return -1;
-						ptype = 0;
-					}
-
-					if (isdigit(*field[i]))
+					if ((isdigit(*field[i]) || (ptype != 0))
 					{
 						char *cp;
 
+						if (ptype != 0)
+						{
+							/* Sanity check; should not fail this test */
+							if (ptype != DTK_TIME)
+								return -1;
+							ptype = 0;
+						}
+
 						/* Starts with a digit but we already have a time field?
 						 * Then we are in trouble with a date and time already...
 						 */