diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
index 84a7dc3f9fad0ec066987062d2f0b236a2579cba..a7d0389d56000035b2e4bca130baac7cf5594dc9 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
@@ -929,7 +929,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
 			case Types.BIT:
 				return new Boolean(getBoolean(columnIndex));
 			case Types.SMALLINT:
-				return new Integer(getInt(columnIndex));
+				return new Short((short)getInt(columnIndex));
 			case Types.INTEGER:
 				return new Integer(getInt(columnIndex));
 			case Types.BIGINT:
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java
index 20c68016ca821e0a3f93d0568c3e526b874d75db..6c6a821e6e19e9425f8a69e27a8d339e6d91befd 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java
@@ -746,7 +746,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
 			case Types.BIT:
 				return new Boolean(getBoolean(columnIndex));
 			case Types.SMALLINT:
-				return new Integer(getInt(columnIndex));
+				return new Short((short)getInt(columnIndex));
 			case Types.INTEGER:
 				return new Integer(getInt(columnIndex));
 			case Types.BIGINT: