diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 7809943743..31e67351ff 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -1608,6 +1608,10 @@ Mon Aug 25 13:24:27 CEST 2003
 Tue Aug 26 18:06:45 CEST 2003
 
 	- Fixed processing of connect statement with username as variable.
+	
+Mon Sep  1 14:33:10 CEST 2003
+
+	- Fixed two bugs in numeric library.
 	- Set ecpg version to 3.0.0
 	- Set ecpg library to 4.0.0
 	- Set pgtypes library to 1.0.0
diff --git a/src/interfaces/ecpg/include/sqltypes.h b/src/interfaces/ecpg/include/sqltypes.h
index 1ebde04714..f8e00c1684 100644
--- a/src/interfaces/ecpg/include/sqltypes.h
+++ b/src/interfaces/ecpg/include/sqltypes.h
@@ -9,7 +9,7 @@
 #define CSTRINGTYPE ECPGt_char
 #define CDATETYPE	ECPGt_date
 #define CMONEYTYPE	111
-#define CDTIMETYPE	112
+#define CDTIMETYPE	ECPGt_timestamp
 #define CLOCATORTYPE	113
 #define CVCHARTYPE	ECPGt_varchar
 #define CINVTYPE	115
diff --git a/src/interfaces/ecpg/pgtypeslib/timestamp.c b/src/interfaces/ecpg/pgtypeslib/timestamp.c
index 8a96d696b4..9ad82ba4d2 100644
--- a/src/interfaces/ecpg/pgtypeslib/timestamp.c
+++ b/src/interfaces/ecpg/pgtypeslib/timestamp.c
@@ -418,7 +418,7 @@ dttofmtasc_replace(Timestamp *ts, Date dDate, int dow, struct tm * tm,
 					/* XXX */
 					break;
 				case 'C':
-					replace_val.uint_val = (tm->tm_year + 1900) / 100;
+					replace_val.uint_val = tm->tm_year / 100;
 					replace_type = PGTYPES_TYPE_UINT_2_LZ;
 					break;
 				case 'd':
@@ -677,7 +677,7 @@ dttofmtasc_replace(Timestamp *ts, Date dDate, int dow, struct tm * tm,
 					replace_type = PGTYPES_TYPE_UINT_2_LZ;
 					break;
 				case 'Y':
-					replace_val.uint_val = tm->tm_year + 1900;
+					replace_val.uint_val = tm->tm_year;
 					replace_type = PGTYPES_TYPE_UINT;
 					break;
 				case 'z':