diff --git a/portal-impl/src/com/liferay/portlet/wiki/service/permission/WikiPagePermission.java b/portal-impl/src/com/liferay/portlet/wiki/service/permission/WikiPagePermission.java
index 4efdd0089965fdfb71005ae69440032232ea4ae4..c4f333b41da2c6beeac2af5ce128ac4a67377072 100644
--- a/portal-impl/src/com/liferay/portlet/wiki/service/permission/WikiPagePermission.java
+++ b/portal-impl/src/com/liferay/portlet/wiki/service/permission/WikiPagePermission.java
@@ -24,7 +24,6 @@ import com.liferay.portal.security.permission.PermissionChecker;
 import com.liferay.portal.util.PortletKeys;
 import com.liferay.portal.util.PropsValues;
 import com.liferay.portlet.wiki.NoSuchPageException;
-import com.liferay.portlet.wiki.NoSuchPageResourceException;
 import com.liferay.portlet.wiki.model.WikiNode;
 import com.liferay.portlet.wiki.model.WikiPage;
 import com.liferay.portlet.wiki.service.WikiPageLocalServiceUtil;
@@ -66,7 +65,7 @@ public class WikiPagePermission {
 
 	public static void check(
 			PermissionChecker permissionChecker, WikiPage page, String actionId)
-		throws PortalException {
+		throws PortalException, SystemException {
 
 		if (!contains(permissionChecker, page, actionId)) {
 			throw new PrincipalException();
@@ -74,19 +73,16 @@ public class WikiPagePermission {
 	}
 
 	public static boolean contains(
-			PermissionChecker permissionChecker, long resourcePrimKey,
-			String actionId)
+			PermissionChecker permissionChecker, long classPK, String actionId)
 		throws PortalException, SystemException {
 
-		try {
-			WikiPage page = WikiPageLocalServiceUtil.getPage(
-				resourcePrimKey, (Boolean)null);
+		WikiPage page = WikiPageLocalServiceUtil.fetchPage(classPK);
 
-			return contains(permissionChecker, page, actionId);
-		}
-		catch (NoSuchPageResourceException nspre) {
-			return false;
+		if (page == null) {
+			page = WikiPageLocalServiceUtil.getPageByPageId(classPK);
 		}
+
+		return contains(permissionChecker, page, actionId);
 	}
 
 	public static boolean contains(
@@ -124,7 +120,8 @@ public class WikiPagePermission {
 	}
 
 	public static boolean contains(
-		PermissionChecker permissionChecker, WikiPage page, String actionId) {
+			PermissionChecker permissionChecker, WikiPage page, String actionId)
+		throws SystemException {
 
 		Boolean hasPermission = StagingPermissionUtil.hasPermission(
 			permissionChecker, page.getGroupId(), WikiPage.class.getName(),
@@ -165,7 +162,7 @@ public class WikiPagePermission {
 		}
 
 		if (actionId.equals(ActionKeys.VIEW)) {
-			WikiPage redirectPage = page.getRedirectPage();
+			WikiPage redirectPage = page.fetchRedirectPage();
 
 			if (redirectPage != null) {
 				page = redirectPage;
@@ -185,7 +182,7 @@ public class WikiPagePermission {
 						return false;
 					}
 
-					page = page.getParentPage();
+					page = page.fetchParentPage();
 				}
 
 				return true;
