diff --git a/portal-impl/src/com/liferay/portlet/wiki/model/impl/WikiPageImpl.java b/portal-impl/src/com/liferay/portlet/wiki/model/impl/WikiPageImpl.java
index ef26f080c4718f53b9251a20b31fc8b571d71c62..75df357a596afe4715dc37bfc742319d0dbfe584 100644
--- a/portal-impl/src/com/liferay/portlet/wiki/model/impl/WikiPageImpl.java
+++ b/portal-impl/src/com/liferay/portlet/wiki/model/impl/WikiPageImpl.java
@@ -28,6 +28,8 @@ import com.liferay.portal.portletfilerepository.PortletFileRepositoryUtil;
 import com.liferay.portal.service.ServiceContext;
 import com.liferay.portal.util.PortletKeys;
 import com.liferay.portlet.documentlibrary.model.DLFolderConstants;
+import com.liferay.portlet.trash.model.TrashEntry;
+import com.liferay.portlet.trash.service.TrashEntryLocalServiceUtil;
 import com.liferay.portlet.wiki.model.WikiNode;
 import com.liferay.portlet.wiki.model.WikiPage;
 import com.liferay.portlet.wiki.service.WikiNodeLocalServiceUtil;
@@ -80,6 +82,26 @@ public class WikiPageImpl extends WikiPageBaseImpl {
 	}
 
 	@Override
+	public WikiPage fetchParentPage() throws SystemException {
+		if (Validator.isNull(getParentTitle())) {
+			return null;
+		}
+
+		return WikiPageLocalServiceUtil.fetchPage(
+			getNodeId(), getParentTitle());
+	}
+
+	@Override
+	public WikiPage fetchRedirectPage() throws SystemException {
+		if (Validator.isNull(getRedirectTitle())) {
+			return null;
+		}
+
+		return WikiPageLocalServiceUtil.fetchPage(
+			getNodeId(), getRedirectTitle());
+	}
+
+	@Override
 	public List<FileEntry> getAttachmentsFileEntries() throws SystemException {
 		return getAttachmentsFileEntries(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
 	}
@@ -230,27 +252,19 @@ public class WikiPageImpl extends WikiPageBaseImpl {
 	}
 
 	@Override
-	public WikiPage getParentPage() {
+	public WikiPage getParentPage() throws PortalException, SystemException {
 		if (Validator.isNull(getParentTitle())) {
 			return null;
 		}
 
-		try {
-			return WikiPageLocalServiceUtil.getPage(
-				getNodeId(), getParentTitle());
-		}
-		catch (Exception e) {
-			_log.error(e, e);
-
-			return null;
-		}
+		return WikiPageLocalServiceUtil.getPage(getNodeId(), getParentTitle());
 	}
 
 	@Override
-	public List<WikiPage> getParentPages() {
+	public List<WikiPage> getParentPages() throws SystemException {
 		List<WikiPage> parentPages = new ArrayList<WikiPage>();
 
-		WikiPage parentPage = getParentPage();
+		WikiPage parentPage = fetchParentPage();
 
 		if (parentPage != null) {
 			parentPages.addAll(parentPage.getParentPages());
@@ -261,20 +275,13 @@ public class WikiPageImpl extends WikiPageBaseImpl {
 	}
 
 	@Override
-	public WikiPage getRedirectPage() {
+	public WikiPage getRedirectPage() throws PortalException, SystemException {
 		if (Validator.isNull(getRedirectTitle())) {
 			return null;
 		}
 
-		try {
-			return WikiPageLocalServiceUtil.getPage(
-				getNodeId(), getRedirectTitle());
-		}
-		catch (Exception e) {
-			_log.error(e, e);
-
-			return null;
-		}
+		return WikiPageLocalServiceUtil.getPage(
+			getNodeId(), getRedirectTitle());
 	}
 
 	@Override
@@ -327,6 +334,22 @@ public class WikiPageImpl extends WikiPageBaseImpl {
 	}
 
 	@Override
+	public boolean isInTrashExplicitly() throws SystemException {
+		if (!isInTrash()) {
+			return false;
+		}
+
+		TrashEntry trashEntry = TrashEntryLocalServiceUtil.fetchEntry(
+			getModelClassName(), getTrashEntryClassPK());
+
+		if (trashEntry != null) {
+			return true;
+		}
+
+		return false;
+	}
+
+	@Override
 	public boolean isResourceMain() {
 		return isHead();
 	}
