diff --git a/test-cargo-miri/Cargo.lock b/test-cargo-miri/Cargo.lock
index eff36026def..1f1541b92a5 100644
--- a/test-cargo-miri/Cargo.lock
+++ b/test-cargo-miri/Cargo.lock
@@ -11,6 +11,7 @@ name = "cargo-miri-test"
 version = "0.1.0"
 dependencies = [
  "byteorder",
+ "cdylib",
  "issue_1567",
  "issue_1691",
  "issue_1705",
@@ -18,6 +19,13 @@ dependencies = [
  "serde_derive",
 ]
 
+[[package]]
+name = "cdylib"
+version = "0.1.0"
+dependencies = [
+ "byteorder",
+]
+
 [[package]]
 name = "cfg-if"
 version = "0.1.10"
diff --git a/test-cargo-miri/Cargo.toml b/test-cargo-miri/Cargo.toml
index 4bc5d121ac7..7ffe7d04ea4 100644
--- a/test-cargo-miri/Cargo.toml
+++ b/test-cargo-miri/Cargo.toml
@@ -9,6 +9,7 @@ edition = "2018"
 
 [dependencies]
 byteorder = "1.0"
+cdylib = { path = "cdylib" }
 issue_1567 = { path = "issue-1567" }
 issue_1691 = { path = "issue-1691" }
 issue_1705 = { path = "issue-1705" }
diff --git a/test-cargo-miri/cdylib/Cargo.toml b/test-cargo-miri/cdylib/Cargo.toml
new file mode 100644
index 00000000000..4e5b5601a56
--- /dev/null
+++ b/test-cargo-miri/cdylib/Cargo.toml
@@ -0,0 +1,12 @@
+[package]
+name = "cdylib"
+version = "0.1.0"
+authors = ["Miri Team"]
+edition = "2018"
+
+[lib]
+# cargo-miri used to handle `cdylib` crate-type specially (https://github.com/rust-lang/miri/pull/1577).
+crate-type = ["cdylib"]
+
+[dependencies]
+byteorder = "1.0"
diff --git a/test-cargo-miri/cdylib/src/lib.rs b/test-cargo-miri/cdylib/src/lib.rs
new file mode 100644
index 00000000000..dd89048284d
--- /dev/null
+++ b/test-cargo-miri/cdylib/src/lib.rs
@@ -0,0 +1,6 @@
+use byteorder::{BigEndian, ByteOrder};
+
+#[no_mangle]
+extern "C" fn use_the_dependency() {
+    let _n = <BigEndian as ByteOrder>::read_u64(&[1,2,3,4,5,6,7,8]);
+}