diff --git a/polkadot/runtime/kusama/src/xcm_config.rs b/polkadot/runtime/kusama/src/xcm_config.rs
index 96679c3919a4afbb1dfffda2f7dbd004ed1a0682..f46eca0c8189ab3849bf07ca22b1098a2df816de 100644
--- a/polkadot/runtime/kusama/src/xcm_config.rs
+++ b/polkadot/runtime/kusama/src/xcm_config.rs
@@ -26,7 +26,7 @@ use frame_support::{
 	traits::{Contains, Everything, Nothing},
 	weights::Weight,
 };
-use runtime_common::{xcm_sender, ToAuthor};
+use runtime_common::{paras_registrar, xcm_sender, ToAuthor};
 use sp_core::ConstU32;
 use xcm::latest::prelude::*;
 use xcm_builder::{
@@ -326,6 +326,14 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 				pallet_nomination_pools::Call::update_roles { .. } |
 				pallet_nomination_pools::Call::chill { .. },
 			) |
+			RuntimeCall::Hrmp(..) |
+			RuntimeCall::Registrar(
+				paras_registrar::Call::deregister { .. } |
+				paras_registrar::Call::swap { .. } |
+				paras_registrar::Call::remove_lock { .. } |
+				paras_registrar::Call::reserve { .. } |
+				paras_registrar::Call::add_lock { .. },
+			) |
 			RuntimeCall::XcmPallet(pallet_xcm::Call::limited_reserve_transfer_assets {
 				..
 			}) => true,
diff --git a/polkadot/runtime/polkadot/src/xcm_config.rs b/polkadot/runtime/polkadot/src/xcm_config.rs
index abdd850f9e61d27a0ee1eb1454691da1a162a301..4f817093703ad398ff0eb67f819366ba54887058 100644
--- a/polkadot/runtime/polkadot/src/xcm_config.rs
+++ b/polkadot/runtime/polkadot/src/xcm_config.rs
@@ -25,7 +25,7 @@ use frame_support::{
 	traits::{Contains, Everything, Nothing},
 	weights::Weight,
 };
-use runtime_common::{xcm_sender, ToAuthor};
+use runtime_common::{paras_registrar, xcm_sender, ToAuthor};
 use sp_core::ConstU32;
 use xcm::latest::prelude::*;
 use xcm_builder::{
@@ -290,6 +290,14 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 				pallet_nomination_pools::Call::update_roles { .. } |
 				pallet_nomination_pools::Call::chill { .. },
 			) |
+			RuntimeCall::Hrmp(..) |
+			RuntimeCall::Registrar(
+				paras_registrar::Call::deregister { .. } |
+				paras_registrar::Call::swap { .. } |
+				paras_registrar::Call::remove_lock { .. } |
+				paras_registrar::Call::reserve { .. } |
+				paras_registrar::Call::add_lock { .. },
+			) |
 			RuntimeCall::XcmPallet(pallet_xcm::Call::limited_reserve_transfer_assets {
 				..
 			}) => true,
diff --git a/polkadot/runtime/rococo/src/xcm_config.rs b/polkadot/runtime/rococo/src/xcm_config.rs
index 4b6702afa7b2f03b77fea4f2320840b21b6b759b..229df3a5df959c4db1db2b4ec13a6a52f540a4bf 100644
--- a/polkadot/runtime/rococo/src/xcm_config.rs
+++ b/polkadot/runtime/rococo/src/xcm_config.rs
@@ -25,7 +25,7 @@ use frame_support::{
 	traits::{Contains, Everything, Nothing},
 	weights::Weight,
 };
-use runtime_common::{xcm_sender, ToAuthor};
+use runtime_common::{paras_registrar, xcm_sender, ToAuthor};
 use sp_core::ConstU32;
 use xcm::latest::prelude::*;
 use xcm_builder::{
@@ -261,6 +261,14 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 				pallet_bounties::Call::close_bounty { .. },
 			) |
 			RuntimeCall::ChildBounties(..) |
+			RuntimeCall::Hrmp(..) |
+			RuntimeCall::Registrar(
+				paras_registrar::Call::deregister { .. } |
+				paras_registrar::Call::swap { .. } |
+				paras_registrar::Call::remove_lock { .. } |
+				paras_registrar::Call::reserve { .. } |
+				paras_registrar::Call::add_lock { .. },
+			) |
 			RuntimeCall::XcmPallet(pallet_xcm::Call::limited_reserve_transfer_assets {
 				..
 			}) => true,
diff --git a/polkadot/runtime/westend/src/xcm_config.rs b/polkadot/runtime/westend/src/xcm_config.rs
index 5e887dafe9a11471d2c6d732e4ad00f6039f5966..ef38ca5d2970e3ce1d44b5e718cd38c1245107e6 100644
--- a/polkadot/runtime/westend/src/xcm_config.rs
+++ b/polkadot/runtime/westend/src/xcm_config.rs
@@ -24,7 +24,7 @@ use frame_support::{
 	parameter_types,
 	traits::{Contains, Everything, Nothing},
 };
-use runtime_common::{xcm_sender, ToAuthor};
+use runtime_common::{paras_registrar, xcm_sender, ToAuthor};
 use sp_core::ConstU32;
 use xcm::latest::prelude::*;
 use xcm_builder::{
@@ -201,6 +201,14 @@ impl Contains<RuntimeCall> for SafeCallFilter {
 				pallet_nomination_pools::Call::update_roles { .. } |
 				pallet_nomination_pools::Call::chill { .. },
 			) |
+			RuntimeCall::Hrmp(..) |
+			RuntimeCall::Registrar(
+				paras_registrar::Call::deregister { .. } |
+				paras_registrar::Call::swap { .. } |
+				paras_registrar::Call::remove_lock { .. } |
+				paras_registrar::Call::reserve { .. } |
+				paras_registrar::Call::add_lock { .. },
+			) |
 			RuntimeCall::XcmPallet(pallet_xcm::Call::limited_reserve_transfer_assets {
 				..
 			}) => true,