diff --git a/pallets/smith-members/src/lib.rs b/pallets/smith-members/src/lib.rs
index 1ed34c47bf4fc9e8bfe788aa05bee4f19cff9490..153189d98d680f26afdc9e282b1099de7b9290c9 100644
--- a/pallets/smith-members/src/lib.rs
+++ b/pallets/smith-members/src/lib.rs
@@ -240,10 +240,13 @@ pub mod pallet {
                         received_certs: issuers_,
                     },
                 );
-                ExpiresOn::<T>::append(
-                    CurrentSession::<T>::get() + T::SmithInactivityMaxDuration::get(),
-                    receiver,
-                );
+                // if smith is offline, schedule expire
+                if !*is_online {
+                    ExpiresOn::<T>::append(
+                        CurrentSession::<T>::get() + T::SmithInactivityMaxDuration::get(),
+                        receiver,
+                    );
+                }
             }
 
             for (issuer, issued_certs) in cert_meta_by_issuer {