diff --git a/crates/ra_prof/Cargo.toml b/crates/ra_prof/Cargo.toml
index e06a6d7d241..823745795e8 100644
--- a/crates/ra_prof/Cargo.toml
+++ b/crates/ra_prof/Cargo.toml
@@ -11,7 +11,7 @@ doctest = false
 [dependencies]
 once_cell = "1.3.1"
 itertools = "0.8.2"
-backtrace = "0.3.44"
+backtrace = { version = "0.3.44", optional = true }
 
 [target.'cfg(not(target_env = "msvc"))'.dependencies]
 jemallocator = { version = "0.3.2", optional = true }
diff --git a/crates/ra_prof/src/lib.rs b/crates/ra_prof/src/lib.rs
index 660d85b4237..6853a479426 100644
--- a/crates/ra_prof/src/lib.rs
+++ b/crates/ra_prof/src/lib.rs
@@ -315,6 +315,7 @@ fn idx_to_children(msgs: &[Message]) -> Vec<Vec<usize>> {
 }
 
 /// Prints backtrace to stderr, useful for debugging.
+#[cfg(feature = "backtrace")]
 pub fn print_backtrace() {
     let bt = backtrace::Backtrace::new();
     eprintln!("{:?}", bt);