diff --git a/src/lib.rs b/src/lib.rs
index 4cd362a4b45b2f175b0af40e7272433294623129..28c019975049da003262040b1f84c30b6a542da4 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,5 +1,4 @@
 #![cfg_attr(feature = "rt", feature(global_asm))]
-#![cfg_attr(feature = "rt", feature(macro_reexport))]
 #![cfg_attr(feature = "rt", feature(used))]
 #![doc = "Peripheral access API for STM32F413 microcontrollers (generated using svd2rust v0.12.0)\n\nYou can find an overview of the API [here].\n\n[here]: https://docs.rs/svd2rust/0.12.0/svd2rust/#peripheral-api"]
 #![allow(private_no_mangle_statics)]
@@ -10,12 +9,13 @@
 #![no_std]
 extern crate bare_metal;
 extern crate cortex_m;
-#[macro_reexport(default_handler, exception)]
 #[cfg(feature = "rt")]
 extern crate cortex_m_rt;
 extern crate vcell;
 use core::marker::PhantomData;
 use core::ops::Deref;
+#[cfg(feature = "rt")]
+pub use cortex_m_rt::{default_handler, exception};
 #[doc = r" Number available in the NVIC for configuring priority"]
 pub const NVIC_PRIO_BITS: u8 = 4;
 pub use interrupt::Interrupt;