diff --git a/lustre/mgc/libmgc.c b/lustre/mgc/libmgc.c
index c8fd0d56d60b6018d059a851771fa21b461bae66..0d5924abf74a4d6deffa20f9c7b5e9fbaf3b7150 100644
--- a/lustre/mgc/libmgc.c
+++ b/lustre/mgc/libmgc.c
@@ -73,12 +73,12 @@ static int mgc_precleanup(struct obd_device *obd, enum obd_cleanup_stage stage)
         switch (stage) {
         case OBD_CLEANUP_EARLY: 
         case OBD_CLEANUP_EXPORTS:
-                break;
-        case OBD_CLEANUP_SELF_EXP:
                 rc = obd_llog_finish(obd, 0);
                 if (rc != 0)
                         CERROR("failed to cleanup llogging subsystems\n");
                 break;
+        case OBD_CLEANUP_SELF_EXP:
+                break;
         case OBD_CLEANUP_OBD:
                 break;
         }