diff --git a/src/components/structures/RoomDirectory.js b/src/components/structures/RoomDirectory.js
index e3323b05fa..9ddacaf829 100644
--- a/src/components/structures/RoomDirectory.js
+++ b/src/components/structures/RoomDirectory.js
@@ -487,7 +487,11 @@ export default class RoomDirectory extends React.Component {
let previewButton;
let joinOrViewButton;
- if (room.world_readable && !hasJoinedRoom) {
+ // Element Web currently does not allow guests to join rooms, so we
+ // instead show them preview buttons for all rooms. If the room is not
+ // world readable, a modal will appear asking you to register first. If
+ // it is readable, the preview appears as normal.
+ if (!hasJoinedRoom && (room.world_readable || isGuest)) {
previewButton = (
this.onPreviewClick(ev, room)}>{_t("Preview")}
);
@@ -496,7 +500,7 @@ export default class RoomDirectory extends React.Component {
joinOrViewButton = (
this.onViewClick(ev, room)}>{_t("View")}
);
- } else if (!isGuest || room.guest_can_join) {
+ } else if (!isGuest) {
joinOrViewButton = (
this.onJoinClick(ev, room)}>{_t("Join")}
);