diff --git a/runtime/gdev/tests/integration_tests.rs b/runtime/gdev/tests/integration_tests.rs
index 5ca299b4313ca499edf81756b5a396f23e263fc4..af4094518b7dc25133fcefdcaebe38172230691c 100644
--- a/runtime/gdev/tests/integration_tests.rs
+++ b/runtime/gdev/tests/integration_tests.rs
@@ -25,6 +25,7 @@ use frame_support::{
 use gdev_runtime::*;
 use pallet_identity::{RevocationPayload, REVOCATION_PAYLOAD_PREFIX};
 use pallet_membership::MembershipRemovalReason;
+use pallet_session::historical::SessionManager;
 use pallet_smith_members::{SmithMeta, SmithStatus};
 use scale_info::prelude::num::NonZeroU16;
 use sp_core::{Encode, Pair};
@@ -1020,6 +1021,95 @@ fn test_smith_process() {
         })
 }
 
+// reveal bug from #243
+#[test]
+fn test_expired_smith_with_null_expires_on() {
+    // initial_authorities_len = 2 → Alice and Bob are online
+    // initial_smiths_len = 3 → Charlie is offline Smith
+    // initial_identities_len = 4 → Dave is member but not smith
+    ExtBuilder::new(2, 3, 4).build().execute_with(|| {
+        run_to_block(1);
+
+        // Bob is smith
+        assert_eq!(
+            SmithMembers::smiths(2),
+            Some(pallet_smith_members::SmithMeta {
+                status: SmithStatus::Smith,
+                expires_on: None, // because online
+                issued_certs: vec![1, 3],
+                received_certs: vec![1, 3],
+            })
+        );
+
+        // force Bob to leave by expiring his main WoT membership
+        Membership::do_remove_membership(2, MembershipRemovalReason::System);
+
+        // check events
+        // membership removal
+        System::assert_has_event(RuntimeEvent::Membership(
+            pallet_membership::Event::MembershipRemoved {
+                member: 2,
+                reason: MembershipRemovalReason::System,
+            },
+        ));
+        // smith membership removal
+        System::assert_has_event(RuntimeEvent::SmithMembers(
+            pallet_smith_members::Event::SmithMembershipRemoved { idty_index: 2 },
+        ));
+        System::assert_has_event(RuntimeEvent::AuthorityMembers(
+            pallet_authority_members::Event::MemberRemoved { member: 2 },
+        ));
+        // also events for certifications
+
+        // check state
+        // Bob is not Smith anymore
+        assert_eq!(
+            SmithMembers::smiths(2),
+            Some(pallet_smith_members::SmithMeta {
+                status: SmithStatus::Excluded, // automatically excluded
+                expires_on: None,              // because excluded, no expiry is scheduled
+                issued_certs: vec![1, 3],
+                received_certs: vec![], // received certs are deleted
+            })
+        );
+        // Alice smith cert to Bob has been deleted
+        assert_eq!(
+            SmithMembers::smiths(1),
+            Some(pallet_smith_members::SmithMeta {
+                status: SmithStatus::Smith,
+                expires_on: None,      // because online
+                issued_certs: vec![3], // cert to Bob has been deleted
+                received_certs: vec![2, 3],
+            })
+        );
+
+        // run to next block
+        run_to_block(2);
+
+        // simulate new session
+        AuthorityMembers::new_session(2);
+        // check event
+        System::assert_has_event(RuntimeEvent::AuthorityMembers(
+            pallet_authority_members::Event::OutgoingAuthorities { members: vec![2] },
+        ));
+
+        // show that expires_on is non null
+        // this is issue #243
+        // Bob is not Smith anymore
+        assert_eq!(
+            SmithMembers::smiths(2),
+            Some(pallet_smith_members::SmithMeta {
+                status: SmithStatus::Excluded, // still excluded
+                expires_on: Some(48),          // should be still None !!
+                issued_certs: vec![1, 3],
+                received_certs: vec![],
+            })
+        );
+
+        // println!("{:#?}", System::events()); // with -- --nocapture
+    })
+}
+
 /// test new account creation
 #[test]
 fn test_create_new_account() {