diff --git a/discord/guild.py b/discord/guild.py
index 760632bce..021648d60 100644
--- a/discord/guild.py
+++ b/discord/guild.py
@@ -262,8 +262,13 @@ class Guild(Hashable):
 
     @property
     def voice_channels(self):
-        """List[:class:`VoiceChannel`]: A list of voice channels that belongs to this guild."""
-        return [ch for ch in self._channels.values() if isinstance(ch, VoiceChannel)]
+        """List[:class:`VoiceChannel`]: A list of voice channels that belongs to this guild.
+
+        This is sorted by the position and are in UI order from top to bottom.
+        """
+        r = [ch for ch in self._channels.values() if isinstance(ch, VoiceChannel)]
+        r.sort(key=lambda c: c.position)
+        return r
 
     @property
     def me(self):
@@ -275,8 +280,13 @@ class Guild(Hashable):
 
     @property
     def text_channels(self):
-        """List[:class:`TextChannel`]: A list of text channels that belongs to this guild."""
-        return [ch for ch in self._channels.values() if isinstance(ch, TextChannel)]
+        """List[:class:`TextChannel`]: A list of text channels that belongs to this guild.
+
+        This is sorted by the position and are in UI order from top to bottom.
+        """
+        r = [ch for ch in self._channels.values() if isinstance(ch, TextChannel)]
+        r.sort(key=lambda c: c.position)
+        return r
 
     def get_channel(self, channel_id):
         """Returns a :class:`abc.GuildChannel` with the given ID. If not found, returns None."""