Index: /data/sengine/home/workspace/sengine/src/java/org/apache/nutch/fetcher/Fetcher.java
===================================================================
--- /data/sengine/home/workspace/sengine/src/java/org/apache/nutch/fetcher/Fetcher.java	(revision 627732)
+++ /data/sengine/home/workspace/sengine/src/java/org/apache/nutch/fetcher/Fetcher.java	(working copy)
@@ -281,7 +281,7 @@
           }
           return url;
         } else {
-          CrawlDatum newDatum = new CrawlDatum();
+          CrawlDatum newDatum = new CrawlDatum(CrawlDatum.STATUS_DB_UNFETCHED, datum.getFetchInterval(), datum.getScore());
           newDatum.getMetaData().put(Nutch.WRITABLE_REPR_URL_KEY,
               new Text(reprUrl));
           output(url, newDatum, null, null, CrawlDatum.STATUS_LINKED);
Index: /data/sengine/home/workspace/sengine/src/java/org/apache/nutch/fetcher/Fetcher2.java
===================================================================
--- /data/sengine/home/workspace/sengine/src/java/org/apache/nutch/fetcher/Fetcher2.java	(revision 627732)
+++ /data/sengine/home/workspace/sengine/src/java/org/apache/nutch/fetcher/Fetcher2.java	(working copy)
@@ -549,7 +549,7 @@
                                    refreshTime < Fetcher.PERM_REFRESH_TIME,
                                    Fetcher.CONTENT_REDIR);
                   if (redirUrl != null) {
-                    CrawlDatum newDatum = new CrawlDatum();
+                    CrawlDatum newDatum = new CrawlDatum(CrawlDatum.STATUS_DB_UNFETCHED, fit.datum.getFetchInterval(), fit.datum.getScore());
                     newDatum.getMetaData().put(Nutch.WRITABLE_REPR_URL_KEY,
                         new Text(reprUrl));
                     fit = FetchItem.create(redirUrl, newDatum, byIP);
@@ -582,17 +582,19 @@
                   handleRedirect(fit.url, fit.datum,
                                  urlString, newUrl, temp,
                                  Fetcher.PROTOCOL_REDIR);
-                CrawlDatum newDatum = new CrawlDatum();
-                newDatum.getMetaData().put(Nutch.WRITABLE_REPR_URL_KEY,
-                    new Text(reprUrl));
-                fit = FetchItem.create(redirUrl, newDatum, byIP);
-                if (fit != null) {
-                  FetchItemQueue fiq =
-                    fetchQueues.getFetchItemQueue(fit.queueID);
-                  fiq.addInProgressFetchItem(fit);
-                } else {
-                  // stop redirecting
-                  redirecting = false;
+                if (redirUrl != null) {
+                  CrawlDatum newDatum = new CrawlDatum(CrawlDatum.STATUS_DB_UNFETCHED, fit.datum.getFetchInterval(), fit.datum.getScore());
+                  newDatum.getMetaData().put(Nutch.WRITABLE_REPR_URL_KEY,
+                      new Text(reprUrl));
+                  fit = FetchItem.create(redirUrl, newDatum, byIP);
+                  if (fit != null) {
+                    FetchItemQueue fiq =
+                      fetchQueues.getFetchItemQueue(fit.queueID);
+                    fiq.addInProgressFetchItem(fit);
+                  } else {
+                    // stop redirecting
+                    redirecting = false;
+                  }
                 }
                 break;
