diff --git a/src/database.rs b/src/database.rs
index 4f2d84361b9941a432e7d9dcd8a6431dd39e21c5..8327b6c53a8a208304a55fbb032029f7ef82fea6 100644
--- a/src/database.rs
+++ b/src/database.rs
@@ -37,23 +37,7 @@ impl fmt::Display for DatabaseError {
     }
 }
 
-impl error::Error for DatabaseError {
-    fn description(&self) -> &str {
-        match *self {
-            DatabaseError::Io(ref err) => err.description(),
-            DatabaseError::Toml(ref err) => err.description(),
-            DatabaseError::Cycle(_) => "Cyclic dependency",
-        }
-    }
-
-    fn cause(&self) -> Option<&dyn error::Error> {
-        match *self {
-            DatabaseError::Io(ref err) => Some(err),
-            DatabaseError::Toml(ref err) => Some(err),
-            DatabaseError::Cycle(_) => None,
-        }
-    }
-}
+impl error::Error for DatabaseError {}
 
 impl From<io::Error> for DatabaseError {
     fn from(err: io::Error) -> DatabaseError {
diff --git a/src/download.rs b/src/download.rs
index 79c70082bc171a859c318e5330ce0cfec951fcb8..5fd0be2a5e8498fc061f93046c2aee4f9d757e39 100644
--- a/src/download.rs
+++ b/src/download.rs
@@ -1,4 +1,3 @@
-use std::error::Error;
 use std::fs::File;
 use std::io::{self, stderr, Read, Write};
 use std::time::Duration;
@@ -23,7 +22,7 @@ pub fn download(remote_path: &str, local_path: &str) -> io::Result<()> {
     let mut response = match client.get(remote_path).send() {
         Ok(response) => response,
         Err(HyperError::Io(err)) => return Err(err),
-        Err(err) => return Err(io::Error::new(io::ErrorKind::Other, err.description())),
+        Err(err) => return Err(io::Error::new(io::ErrorKind::Other, err)),
     };
 
     match response.status {