diff --git a/substrate/primitives/runtime/src/traits.rs b/substrate/primitives/runtime/src/traits.rs
index 1ff27123810b5c4088ed450f68ced1d6a1e34ef2..17dc7ce50ea8b90254c41c388b2adf550730cef4 100644
--- a/substrate/primitives/runtime/src/traits.rs
+++ b/substrate/primitives/runtime/src/traits.rs
@@ -2299,11 +2299,27 @@ pub trait BlockNumberProvider {
 mod tests {
 	use super::*;
 	use crate::codec::{Decode, Encode, Input};
+	#[cfg(feature = "bls-experimental")]
+	use sp_core::{bls377, bls381};
 	use sp_core::{
 		crypto::{Pair, UncheckedFrom},
-		ecdsa,
+		ecdsa, ed25519, sr25519,
 	};
 
+	macro_rules! signature_verify_test {
+		($algorithm:ident) => {
+			let msg = &b"test-message"[..];
+			let wrong_msg = &b"test-msg"[..];
+			let (pair, _) = $algorithm::Pair::generate();
+
+			let signature = pair.sign(&msg);
+			assert!($algorithm::Pair::verify(&signature, msg, &pair.public()));
+
+			assert!(signature.verify(msg, &pair.public()));
+			assert!(!signature.verify(wrong_msg, &pair.public()));
+		};
+	}
+
 	mod t {
 		use sp_application_crypto::{app_crypto, sr25519};
 		use sp_core::crypto::KeyTypeId;
@@ -2413,15 +2429,28 @@ mod tests {
 		assert_eq!(buffer, [0, 0]);
 	}
 
+	#[test]
+	fn ed25519_verify_works() {
+		signature_verify_test!(ed25519);
+	}
+
+	#[test]
+	fn sr25519_verify_works() {
+		signature_verify_test!(sr25519);
+	}
+
 	#[test]
 	fn ecdsa_verify_works() {
-		let msg = &b"test-message"[..];
-		let (pair, _) = ecdsa::Pair::generate();
+		signature_verify_test!(ecdsa);
+	}
 
-		let signature = pair.sign(&msg);
-		assert!(ecdsa::Pair::verify(&signature, msg, &pair.public()));
+	#[cfg(feature = "bls-experimental")]
+	fn bls377_verify_works() {
+		signature_verify_test!(bls377)
+	}
 
-		assert!(signature.verify(msg, &pair.public()));
-		assert!(signature.verify(msg, &pair.public()));
+	#[cfg(feature = "bls-experimental")]
+	fn bls381_verify_works() {
+		signature_verify_test!(bls381)
 	}
 }
diff --git a/substrate/test-utils/runtime/Cargo.toml b/substrate/test-utils/runtime/Cargo.toml
index 320d0e07deceb18c2f0627bc7ce9567c38c903c0..43ab0da98bd6a905c5890048834e9566848cf289 100644
--- a/substrate/test-utils/runtime/Cargo.toml
+++ b/substrate/test-utils/runtime/Cargo.toml
@@ -83,7 +83,6 @@ std = [
 	"log/std",
 	"sp-offchain/std",
 	"sp-core/std",
-	"sp-core/std",
 	"sp-std/std",
 	"sp-io/std",
 	"frame-support/std",