diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0015204..aa4c293 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@
 The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
 
+## [0.4.5] - 2019-01-25
+### Platforms
+- Fuchsia: Replaced fuchsia-zircon with fuchsia-cprng
+
 ## [0.4.4] - 2019-01-06
 ### Added
 - SGX support
diff --git a/Cargo.toml b/Cargo.toml
index 82ab1f0..84c2643 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "rand"
-version = "0.4.5"
+version = "0.4.6"
 authors = ["The Rust Project Developers"]
 license = "MIT/Apache-2.0"
 readme = "README.md"
@@ -32,7 +32,7 @@
 members = ["rand-derive"]
 
 [target.'cfg(target_os = "fuchsia")'.dependencies]
-fuchsia-zircon = "0.3.2"
+fuchsia-cprng = "0.1.0"
 
 [target.'cfg(target_env = "sgx")'.dependencies]
 rdrand = "0.4.0"
diff --git a/src/os.rs b/src/os.rs
index 0be8713..c33a8cb 100644
--- a/src/os.rs
+++ b/src/os.rs
@@ -389,7 +389,7 @@
 
 #[cfg(target_os = "fuchsia")]
 mod imp {
-    extern crate fuchsia_zircon;
+    extern crate fuchsia_cprng;
 
     use std::io;
     use Rng;
@@ -413,15 +413,7 @@
             next_u64(&mut |v| self.fill_bytes(v))
         }
         fn fill_bytes(&mut self, v: &mut [u8]) {
-            for s in v.chunks_mut(fuchsia_zircon::sys::ZX_CPRNG_DRAW_MAX_LEN) {
-                let mut filled = 0;
-                while filled < s.len() {
-                    match fuchsia_zircon::cprng_draw(&mut s[filled..]) {
-                        Ok(actual) => filled += actual,
-                        Err(e) => panic!("cprng_draw failed: {:?}", e),
-                    };
-                }
-            }
+            fuchsia_cprng::cprng_draw(v);
         }
     }
 }
