diff --git a/substrate/frame/support/procedural/src/pallet/expand/hooks.rs b/substrate/frame/support/procedural/src/pallet/expand/hooks.rs
index c41a65b57b57a85d6a372ac33bd92bd7782a2804..987d0691b1ecc1be4c07c7ff2b779d01faa79c5e 100644
--- a/substrate/frame/support/procedural/src/pallet/expand/hooks.rs
+++ b/substrate/frame/support/procedural/src/pallet/expand/hooks.rs
@@ -76,7 +76,7 @@ pub fn expand_hooks(def: &mut Def) -> proc_macro2::TokenStream {
 		quote::quote! {
 			impl<#type_impl_gen>
 				#frame_support::traits::Hooks<<T as #frame_system::Config>::BlockNumber>
-				for Pallet<#type_use_gen> {}
+				for #pallet_ident<#type_use_gen> #where_clause {}
 		}
 	} else {
 		proc_macro2::TokenStream::new()
diff --git a/substrate/frame/support/test/tests/pallet_ui/duplicate_store_attr.rs b/substrate/frame/support/test/tests/pallet_ui/duplicate_store_attr.rs
index d675ddefe985b37027594e629bc78651c9ddef9c..ab318034aca054564964cfcd3356719bbe8142f0 100644
--- a/substrate/frame/support/test/tests/pallet_ui/duplicate_store_attr.rs
+++ b/substrate/frame/support/test/tests/pallet_ui/duplicate_store_attr.rs
@@ -22,5 +22,4 @@ mod pallet {
 	type Foo<T> = StorageValue<_, u8>;
 }
 
-fn main() {
-}
+fn main() {}
diff --git a/substrate/frame/support/test/tests/pallet_ui/pass/where_clause_missing_hooks.rs b/substrate/frame/support/test/tests/pallet_ui/pass/where_clause_missing_hooks.rs
new file mode 100644
index 0000000000000000000000000000000000000000..bf5f22306207a4c942f3e20900cf4b6aba9cdc49
--- /dev/null
+++ b/substrate/frame/support/test/tests/pallet_ui/pass/where_clause_missing_hooks.rs
@@ -0,0 +1,19 @@
+#[frame_support::pallet]
+mod pallet {
+	#[pallet::config]
+	pub trait Config: frame_system::Config where <Self as frame_system::Config>::Index: From<u128> {}
+
+	#[pallet::pallet]
+	pub struct Pallet<T>(core::marker::PhantomData<T>);
+
+	#[pallet::call]
+	impl<T: Config> Pallet<T> where <T as frame_system::Config>::Index: From<u128> {}
+
+	impl<T: Config> Pallet<T> where <T as frame_system::Config>::Index: From<u128> {
+		fn foo(x: u128) {
+			let _index = <T as frame_system::Config>::Index::from(x);
+		}
+	}
+}
+
+fn main() {}