diff --git a/src/includes/forums/template.php b/src/includes/forums/template.php
index 9dc6b378..12374fa1 100644
--- a/src/includes/forums/template.php
+++ b/src/includes/forums/template.php
@@ -1534,11 +1534,11 @@ function bbp_forum_visibility( $forum_id = 0 ) {
 	 * @uses get_post_status() To get the forum's status
 	 * @uses apply_filters() Calls 'bbp_get_forum_visibility' with the visibility
 	 *                        and forum id
-	 * @return string Status of forum
+	 * @return string Status of forum. Defaults to empty string.
 	 */
 	function bbp_get_forum_visibility( $forum_id = 0 ) {
 		$forum_id   = bbp_get_forum_id( $forum_id );
-		$visibility = get_post_status( $forum_id );
+		$visibility = empty( $forum_id ) ? '' : get_post_status( $forum_id );
 
 		return apply_filters( 'bbp_get_forum_visibility', $visibility, $forum_id );
 	}
@@ -1603,7 +1603,9 @@ function bbp_is_forum_category( $forum_id = 0 ) {
  * @return bool Whether the forum is open or not
  */
 function bbp_is_forum_open( $forum_id = 0, $check_ancestors = true ) {
-	return ! bbp_is_forum_closed( $forum_id, $check_ancestors );
+	$forum_id = bbp_get_forum_id( $forum_id );
+	$open     = empty( $forum_id ) ? false : ( ! bbp_is_forum_closed( $forum_id, $check_ancestors ) );
+	return $open;
 }
 
 /**
diff --git a/src/includes/replies/template.php b/src/includes/replies/template.php
index edb7b37e..7748a801 100644
--- a/src/includes/replies/template.php
+++ b/src/includes/replies/template.php
@@ -903,11 +903,13 @@ function bbp_reply_status( $reply_id = 0 ) {
 	 * @uses bbp_get_reply_id() To get the reply id
 	 * @uses get_post_status() To get the reply status
 	 * @uses apply_filters() Calls 'bbp_get_reply_status' with the reply id
-	 * @return string Status of reply
+	 * @return string Status of reply. Defaults to empty string.
 	 */
 	function bbp_get_reply_status( $reply_id = 0 ) {
 		$reply_id = bbp_get_reply_id( $reply_id );
-		return apply_filters( 'bbp_get_reply_status', get_post_status( $reply_id ), $reply_id );
+		$status   = empty( $reply_id ) ? '' : get_post_status( $reply_id );
+
+		return apply_filters( 'bbp_get_reply_status', $status, $reply_id );
 	}
 
 /**
@@ -1002,6 +1004,11 @@ function bbp_is_reply_anonymous( $reply_id = 0 ) {
 	$reply_id = bbp_get_reply_id( $reply_id );
 	$retval   = false;
 
+	// Bail early if no reply id.
+	if ( empty( $reply_id ) ) {
+		return false;
+	}
+
 	if ( ! bbp_get_reply_author_id( $reply_id ) ) {
 		$retval = true;
 
diff --git a/src/includes/topics/template.php b/src/includes/topics/template.php
index efe36e41..5ec2de87 100644
--- a/src/includes/topics/template.php
+++ b/src/includes/topics/template.php
@@ -1143,12 +1143,13 @@ function bbp_topic_status( $topic_id = 0 ) {
 	 * @uses get_post_status() To get the topic status
 	 * @uses apply_filters() Calls 'bbp_get_topic_status' with the status
 	 *                        and topic id
-	 * @return string Status of topic
+	 * @return string Status of topic. Defaults to empty string.
 	 */
 	function bbp_get_topic_status( $topic_id = 0 ) {
 		$topic_id = bbp_get_topic_id( $topic_id );
+		$status   = empty( $topic_id ) ? '' : get_post_status( $topic_id );
 
-		return apply_filters( 'bbp_get_topic_status', get_post_status( $topic_id ), $topic_id );
+		return apply_filters( 'bbp_get_topic_status', $status, $topic_id );
 	}
 
 /**
@@ -1182,7 +1183,9 @@ function bbp_is_topic_closed( $topic_id = 0 ) {
  * @return bool True if open, false if closed.
  */
 function bbp_is_topic_open( $topic_id = 0 ) {
-	return ! bbp_is_topic_closed( $topic_id );
+	$topic_id = bbp_get_topic_id( $topic_id );
+	$closed   = empty( $topic_id ) ? false : ( ! bbp_is_topic_closed( $topic_id ) );
+	return $closed;
 }
 
 /**
@@ -1296,6 +1299,11 @@ function bbp_is_topic_anonymous( $topic_id = 0 ) {
 	$topic_id = bbp_get_topic_id( $topic_id );
 	$retval   = false;
 
+	// Bail early if no topic id.
+	if ( empty( $topic_id ) ) {
+		return false;
+	}
+
 	if ( ! bbp_get_topic_author_id( $topic_id ) ) {
 		$retval = true;
 
