diff --git a/src/java/org/apache/nutch/api/model/response/NutchStatus.java b/src/java/org/apache/nutch/api/model/response/NutchStatus.java
index 3b494ed..cf1fabb 100644
--- a/src/java/org/apache/nutch/api/model/response/NutchStatus.java
+++ b/src/java/org/apache/nutch/api/model/response/NutchStatus.java
@@ -5,9 +5,9 @@
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
- * 
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,10 +18,16 @@ package org.apache.nutch.api.model.response;
 
 import java.util.Collection;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.Set;
 
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.nutch.api.model.response.JobInfo.State;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 public class NutchStatus {
-  
+    private final Logger log = LoggerFactory.getLogger(NutchStatus.class);
   private Date startDate;
   private Set<String> configuration;
   private Collection<JobInfo> jobs;
@@ -51,11 +57,32 @@ public class NutchStatus {
     this.jobs = jobs;
   }
 
-  public Collection<JobInfo> getRunningJobs() {
-    return runningJobs;
-  }
+    public Collection<JobInfo> getRunningJobs()
+    {
+        return purgeFinishedFailedJobs(runningJobs);
+    }
+
 
   public void setRunningJobs(Collection<JobInfo> runningJobs) {
     this.runningJobs = runningJobs;
   }
+
+    private Collection<JobInfo> purgeFinishedFailedJobs(Collection<JobInfo> runningJobColl)
+    {
+        if (CollectionUtils.isNotEmpty(runningJobColl)) {
+            Iterator<JobInfo> runningJobsIterator = runningJobColl.iterator();
+            while (runningJobsIterator.hasNext()) {
+                JobInfo jobInfo = runningJobsIterator.next();
+
+                if (jobInfo.getState().equals(State.FINISHED)) {
+                    runningJobsIterator.remove();
+                }
+                else if (jobInfo.getState().equals(State.FAILED)) {
+                    runningJobsIterator.remove();
+                }
+
+            }
+        }
+        return runningJobColl;
+    }
 }
