--- src/java/org/quartz/impl/jdbcjobstore/HSQLDBDelegate.java.orig	2009-10-20 13:09:01.000000000 -0400
+++ src/java/org/quartz/impl/jdbcjobstore/HSQLDBDelegate.java	2009-10-20 13:40:05.000000000 -0400
@@ -93,7 +93,7 @@ public class HSQLDBDelegate extends StdJ
             throws ClassNotFoundException, IOException, SQLException {
         InputStream binaryInput = rs.getBinaryStream(colName);
 
-        if(binaryInput == null)
+        if(binaryInput == null || binaryInput.available() == 0)
             return null;
         
         ObjectInputStream in = new ObjectInputStream(binaryInput);
--- src/java/org/quartz/impl/jdbcjobstore/StdJDBCDelegate.java.orig	2009-10-20 13:09:24.000000000 -0400
+++ src/java/org/quartz/impl/jdbcjobstore/StdJDBCDelegate.java	2009-10-20 13:45:30.000000000 -0400
@@ -3865,7 +3865,7 @@ public class StdJDBCDelegate implements 
         Object obj = null;
 
         Blob blobLocator = rs.getBlob(colName);
-        if (blobLocator != null) {
+        if (blobLocator != null && blobLocator.length() != 0) {
             InputStream binaryInput = blobLocator.getBinaryStream();
 
             if (null != binaryInput) {
--- src/java/org/quartz/impl/jdbcjobstore/CloudscapeDelegate.java.orig	2009-10-20 13:08:53.000000000 -0400
+++ src/java/org/quartz/impl/jdbcjobstore/CloudscapeDelegate.java	2009-10-20 13:42:40.000000000 -0400
@@ -37,6 +37,7 @@ import org.apache.commons.logging.Log;
  * 
  * @author James House
  * @author Sridhar Jawaharlal, Srinivas Venkatarangaiah
+ * @deprecated Use the StdJDBCDelegate for latest versions of Derby
  */
 public class CloudscapeDelegate extends StdJDBCDelegate {
     /**
@@ -98,7 +99,7 @@ public class CloudscapeDelegate extends 
 
         byte[] inputBytes = rs.getBytes(colName);
 
-        if (null != inputBytes) {
+        if (null != inputBytes && inputBytes.length != 0) {
             ByteArrayInputStream bais = new
             ByteArrayInputStream(inputBytes); 
 
--- src/java/org/quartz/impl/jdbcjobstore/PointbaseDelegate.java.orig	2009-10-20 13:09:45.000000000 -0400
+++ src/java/org/quartz/impl/jdbcjobstore/PointbaseDelegate.java	2009-10-20 13:43:55.000000000 -0400
@@ -487,7 +487,7 @@ public class PointbaseDelegate extends S
 
         InputStream binaryInput = new ByteArrayInputStream(binaryData);
 
-        if (null != binaryInput) {
+        if (null != binaryInput && binaryInput.available() != 0) {
             ObjectInputStream in = new ObjectInputStream(binaryInput);
             obj = in.readObject();
             in.close();
--- src/java/org/quartz/impl/jdbcjobstore/MSSQLDelegate.java.orig	2009-10-20 13:09:52.000000000 -0400
+++ src/java/org/quartz/impl/jdbcjobstore/MSSQLDelegate.java	2009-10-20 13:44:10.000000000 -0400
@@ -79,7 +79,7 @@ public class MSSQLDelegate extends StdJD
             throws ClassNotFoundException, IOException, SQLException {
         InputStream binaryInput = rs.getBinaryStream(colName);
 
-        if(binaryInput == null)
+        if(binaryInput == null || binaryInput.available() == 0)
             return null;
         
         ObjectInputStream in = new ObjectInputStream(binaryInput);
