diff --git a/Cargo.toml b/Cargo.toml
index 718f669b0a5626834315ee94deed55aefd489524..b995e80ce0d120548c89ab982aee85ab21e4a6b8 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -65,7 +65,7 @@ pretty-hex = { version = "0.3", default-features = false }
 futures = { version = "0.3", default-features = false }
 
 [features]
-std = ["snafu/std", "snafu/backtraces", "rsa"]
+std = ["snafu/std", "snafu/backtraces"]
 rsa = ["dep:rsa", "ssh-key/rsa"]
 # allows conversion to/from OpenSSH key formats
 openssh-key = ["ssh-key"]
diff --git a/async/Cargo.toml b/async/Cargo.toml
index 39020ea919229ecfc4394dfa232a6646cdaff2b5..4c44453712ca21b27082d9dda9402b840cedfa7c 100644
--- a/async/Cargo.toml
+++ b/async/Cargo.toml
@@ -7,7 +7,7 @@ license = "MPL-2.0"
 description = "Async wrapper for Sunset SSH"
 
 [dependencies]
-sunset = { path = "..", features = ["std", "openssh-key"] }
+ sunset = { path = "..", features = ["std", "rsa", "openssh-key"] }
 sunset-sshwire-derive = { version = "0.1", path = "../sshwire-derive" }
 sunset-embassy = { path = "../embassy" }
 log = { version = "0.4", features = ["release_max_level_trace"] }
diff --git a/async/src/agent.rs b/async/src/agent.rs
index d022a7c4a0fd1c73dc5fc88b005c4beaf08f3821..7d99274782daa18c2097791e1960b6eb525d101c 100644
--- a/async/src/agent.rs
+++ b/async/src/agent.rs
@@ -166,6 +166,7 @@ impl AgentClient {
 
     pub async fn sign_auth(&mut self, key: &SignKey, msg: &AuthSigMsg<'_>) -> Result<OwnedSig> {
         let flags = match key {
+            #[cfg(feature = "rsa")]
             SignKey::AgentRSA(_) => SSH_AGENT_FLAG_RSA_SHA2_256,
             _ => 0,
         };