diff --git a/polkadot/runtime/common/src/paras_sudo_wrapper.rs b/polkadot/runtime/common/src/paras_sudo_wrapper.rs
index af93c70b4783f717a2adddd0f0f34365ae27d954..a93c209e927995ea34f26c6f90ba0d2cd798ce40 100644
--- a/polkadot/runtime/common/src/paras_sudo_wrapper.rs
+++ b/polkadot/runtime/common/src/paras_sudo_wrapper.rs
@@ -24,7 +24,7 @@ pub use pallet::*;
 use polkadot_primitives::Id as ParaId;
 use polkadot_runtime_parachains::{
 	configuration, dmp, hrmp,
-	paras::{self, AssignCoretime, ParaGenesisArgs},
+	paras::{self, AssignCoretime, ParaGenesisArgs, ParaKind},
 	ParaLifecycle,
 };
 
@@ -80,10 +80,15 @@ pub mod pallet {
 			genesis: ParaGenesisArgs,
 		) -> DispatchResult {
 			ensure_root(origin)?;
+
+			let assign_coretime = genesis.para_kind == ParaKind::Parachain;
+
 			polkadot_runtime_parachains::schedule_para_initialize::<T>(id, genesis)
 				.map_err(|_| Error::<T>::ParaAlreadyExists)?;
 
-			T::AssignCoretime::assign_coretime(id)?;
+			if assign_coretime {
+				T::AssignCoretime::assign_coretime(id)?;
+			}
 
 			Ok(())
 		}