diff --git a/members/sys/Cargo.toml b/members/sys/Cargo.toml
index 889481c6ef5d0649ad633eced12ce2a0fd8eba53..b8ac096ada7a9b0354204f89fce25e9ae404eb75 100644
--- a/members/sys/Cargo.toml
+++ b/members/sys/Cargo.toml
@@ -12,3 +12,7 @@ users = "0.8.1"
 
 [target."cfg(target_os = \"redox\")".dependencies]
 redox_syscall = { git = "https://gitlab.redox-os.org/redox-os/syscall.git", branch = "relibc" }
+
+
+[target."cfg(target_os = \"dragonfly\")".dependencies]
+errno-dragonfly = "0.1.1"
diff --git a/members/sys/src/sys/unix/mod.rs b/members/sys/src/sys/unix/mod.rs
index 0e8b66fe04f8be1f75115758f9e8599fb28203ae..eb4576fc65e49a54e2583ff98615ae48270237f3 100644
--- a/members/sys/src/sys/unix/mod.rs
+++ b/members/sys/src/sys/unix/mod.rs
@@ -1,4 +1,6 @@
 extern crate libc;
+#[cfg(target_os = "dragonfly")]
+extern crate errno_dragonfly;
 
 pub mod signals;
 
@@ -57,7 +59,7 @@ fn errno() -> i32 { unsafe { *libc::__errno() } }
 fn errno() -> i32 { unsafe { *libc::__error() } }
 
 #[cfg(target_os = "dragonfly")]
-fn errno() -> i32 { unsafe { *libc::__dfly_error() } }
+fn errno() -> i32 { unsafe { *errno_dragonfly::errno_location()} }
 
 pub fn strerror(errno: i32) -> &'static str {
     unsafe {