diff --git a/CHANGES.txt b/CHANGES.txt
index 96e49d5..683c92c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -154,6 +154,8 @@
     MAPREDUCE-2465. Disable raid contrib which is unable to compile after
     HDFS federation merge. (todd)
 
+    MAPREDUCE-2460. Fix flaky test TestFairSchedulerSystem. (todd)
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES
diff --git a/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java b/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java
index f33697d..bb6808d 100644
--- a/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java
+++ b/src/contrib/fairscheduler/src/test/org/apache/hadoop/mapred/TestFairSchedulerSystem.java
@@ -123,8 +123,17 @@
           continue;
         }
         for (JobStatus j : jobs) {
-          System.err.println("Checking task log for " + j.getJobID());
-          checkTaskGraphServlet(j.getJobID());
+          System.err.println("Checking task graph for " + j.getJobID());
+          try {
+            checkTaskGraphServlet(j.getJobID());
+          } catch (AssertionError err) {
+            // The task graph servlet will be empty if the job has retired.
+            // This is OK.
+            RunningJob rj = jc.getJob(j.getJobID());
+            if (!rj.isRetired()) {
+              throw err;
+            }
+          }
         }
       }
     }
