diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql
index a2d93d3c4d3d11186a1b877b59b1703a32555d21..aa24f2c2bc111f0bcde7a5d41ce18186df239049 100644
--- a/db/StoredProcedures.sql
+++ b/db/StoredProcedures.sql
@@ -129,10 +129,23 @@ CREATE FUNCTION `SetBitmaskByPagename`	( 	`Pagename` TEXT CHARSET utf8,
 										) 	RETURNS int(11)
     NO SQL
 BEGIN
-	UPDATE `page_access`
-	SET page_access.Bitmask = Mask
+	DECLARE checker INT;
+	SELECT page_access.ID
+	INTO checker
+	FROM `page_access`
 	WHERE page_access.Pagename = Pagename
 	LIMIT 1;
+
+	IF checker > 0 THEN
+		UPDATE `page_access`
+		SET page_access.Bitmask = Mask
+		WHERE page_access.Pagename = Pagename
+		LIMIT 1;
+	ELSE
+		INSERT INTO `page_access`	(page_access.Pagename, page_access.Bitmask)
+		VALUES						(Pagename, Mask);
+
+	END IF;
 	RETURN 0;
 END //