diff --git a/src/routes/channel.rs b/src/routes/channel.rs
index e6f5b8f1011e0401bb118b89fadb32099ef74425..36b576b0db27c0d144a85f685c66daaf07309b6c 100644
--- a/src/routes/channel.rs
+++ b/src/routes/channel.rs
@@ -503,11 +503,11 @@ pub fn messages(
     let mut query = doc! { "channel": target.id };
 
     if let Some(before) = &options.before {
-        query.insert("_id", doc! { "$lte": before });
+        query.insert("_id", doc! { "$lt": before });
     }
 
     if let Some(after) = &options.after {
-        query.insert("_id", doc! { "$gte": after });
+        query.insert("_id", doc! { "$gt": after });
     }
 
     let limit = if let Some(limit) = options.limit {