diff --git a/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs b/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs
index 5ac07975df0f7fd28d9f3815d5dfbfd387372965..d0725ffd2ba54259c4645996ec6f10a391afdca4 100644
--- a/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs
+++ b/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs
@@ -79,7 +79,14 @@ fn generate_impl_call(
 	let pborrow = params.iter().map(|v| &v.2);
 
 	let decode_params = if params.is_empty() {
-		quote!()
+		quote!(
+			if !#input.is_empty() {
+				panic!(
+					"Bad input data provided to {}: expected no parameters, but input buffer is not empty.",
+					#fn_name_str
+				);
+			}
+		)
 	} else {
 		let let_binding = if params.len() == 1 {
 			quote! {