diff --git a/pallets/smith-members/src/lib.rs b/pallets/smith-members/src/lib.rs
index 2b32a98616a45df65a05c059f10f89bb091ad50c..64c45dd32d3953057bc1914055f45ac8b5f964a0 100644
--- a/pallets/smith-members/src/lib.rs
+++ b/pallets/smith-members/src/lib.rs
@@ -447,11 +447,17 @@ impl<T: Config> Pallet<T> {
                     } else {
                         SmithStatus::Pending
                     };
-                // expiry postponed
-                let new_expires_on =
-                    CurrentSession::<T>::get() + T::SmithInactivityMaxDuration::get();
-                smith_meta.expires_on = Some(new_expires_on);
-                Self::deposit_event(Event::<T>::SmithCertAdded { receiver, issuer });
+
+                if smith_meta.status == SmithStatus::Pending {
+                    // - postpone the expiration: a Pending smith cannot do anything but wait
+                    // this postponement is here to ease the process of becoming a smith
+                    let new_expires_on =
+                        CurrentSession::<T>::get() + T::SmithInactivityMaxDuration::get();
+                    smith_meta.expires_on = Some(new_expires_on);
+                    // ExpiresOn::<T>::append(new_expires_on, receiver);
+                }
+
+                // - if the status is smith but wasn't, notify that smith gained membership
                 if smith_meta.status == SmithStatus::Smith && previous_status != SmithStatus::Smith
                 {
                     Self::deposit_event(Event::<T>::SmithMembershipAdded {
diff --git a/pallets/smith-members/src/tests.rs b/pallets/smith-members/src/tests.rs
index 826c096a36e4d5aa63e182561cf645c086147970..a1ba5942a3c49ee2c152c338d70823f4258d7c27 100644
--- a/pallets/smith-members/src/tests.rs
+++ b/pallets/smith-members/src/tests.rs
@@ -610,7 +610,6 @@ fn certifying_an_online_smith() {
             RuntimeOrigin::signed(3),
             5
         ));
-        // TODO: this test currently fails because expires_on is not None
         assert_eq!(
             Smiths::<Runtime>::get(5),
             Some(SmithMeta {