diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index 1264aa72eacaa621d1b94ce4692b22ed19745ebb..2bb4fd2d3a6e19ec6b4bc313c4c3f322683b6c76 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -19,6 +19,7 @@ tbd         Cluster File Systems, Inc. <info@clusterfs.com>
 	- fix a rare lock re-ordering bug, which caused deadlock (2322)
 	- fix i_sem/journal inversion in fsfilt_ext3_write_record (2306)
 	- protect MDS inode fsdata with stronger locking (2313)
+	- better error messages when a client is rejected during recovery (1505)
        * miscellania
 	- allow configurable automake binary, for testing new versions
 	- small update to the lfs documentation
diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c
index deaa355a7c24b6378e903520c509ede6e3a63793..d093a9316973c7692bd45bd0fd974e3e5522cde2 100644
--- a/lustre/llite/llite_lib.c
+++ b/lustre/llite/llite_lib.c
@@ -103,7 +103,12 @@ int lustre_common_fill_super(struct super_block *sb, char *mdc, char *osc)
         mdc_init_ea_size(obd, osc);
 
         err = obd_connect(&mdc_conn, obd, &sbi->ll_sb_uuid);
-        if (err) {
+        if (err == -EBUSY) {
+                CERROR("An MDS (mdc %s) is performing recovery, of which this"
+                       " client is not a part.  Please wait for recovery to "
+                       "complete, abort, or time out.\n", mdc);
+                GOTO(out, err);
+        } else if (err) {
                 CERROR("cannot connect to %s: rc = %d\n", mdc, err);
                 GOTO(out, err);
         }
@@ -130,7 +135,12 @@ int lustre_common_fill_super(struct super_block *sb, char *mdc, char *osc)
         }
 
         err = obd_connect(&osc_conn, obd, &sbi->ll_sb_uuid);
-        if (err) {
+        if (err == -EBUSY) {
+                CERROR("An OST (osc %s) is performing recovery, of which this"
+                       " client is not a part.  Please wait for recovery to "
+                       "complete, abort, or time out.\n", osc);
+                GOTO(out, err);
+        } else if (err) {
                 CERROR("cannot connect to %s: rc = %d\n", osc, err);
                 GOTO(out_mdc, err);
         }