diff --git a/src/database/rooms/edus.rs b/src/database/rooms/edus.rs
index a794c690ad98e1ecae1763a156f5d71c2d513905..29f5407b605f6335ea75c47492d41f6e32c305f6 100644
--- a/src/database/rooms/edus.rs
+++ b/src/database/rooms/edus.rs
@@ -11,6 +11,7 @@
 use std::{
     collections::HashMap,
     convert::{TryFrom, TryInto},
+    mem,
 };
 
 #[derive(Clone)]
@@ -228,9 +229,11 @@ fn typings_maintain(
                 let key = key?;
                 Ok::<_, Error>((
                     key.clone(),
-                    utils::u64_from_bytes(key.split(|&b| b == 0xff).nth(1).ok_or_else(|| {
-                        Error::bad_database("RoomTyping has invalid timestamp or delimiters.")
-                    })?)
+                    utils::u64_from_bytes(
+                        &key.splitn(2, |&b| b == 0xff).nth(1).ok_or_else(|| {
+                            Error::bad_database("RoomTyping has invalid timestamp or delimiters.")
+                        })?[0..mem::size_of::<u64>()],
+                    )
                     .map_err(|_| Error::bad_database("RoomTyping has invalid timestamp bytes."))?,
                 ))
             })
diff --git a/src/database/sending.rs b/src/database/sending.rs
index 1ed94cc2a227f7afa002b4aec304683bbcf30126..c818cbfc8718826122f412c228f2f1789bcd986f 100644
--- a/src/database/sending.rs
+++ b/src/database/sending.rs
@@ -28,6 +28,7 @@ pub fn start_handler(&self, globals: &super::globals::Globals, rooms: &super::ro
                 select! {
                     Some(server) = futures.next() => {
                         warn!("response: {:?}", &server);
+                        warn!("futures left: {}", &futures.len());
                         match server {
                             Ok((server, _response)) => {
                                 waiting_servers.remove(&server)