diff --git a/plugins/publiclink/lib_public.php b/plugins/publiclink/lib_public.php
index 436dddeef222c94ae0b0d56cb3d4477c23e0cf22..20b538d3ac9bb819f81c7acb0266665ce6deaabd 100644
--- a/plugins/publiclink/lib_public.php
+++ b/plugins/publiclink/lib_public.php
@@ -6,9 +6,9 @@ class OC_PublicLink{
 	 * @param int (optional) expiretime time the link expires, as timestamp
 	 */
 	public function __construct($path,$expiretime=0){
-		if($path && OC_FILESYSTEM::file_exists($path)){
-			$token=sha1("$path-$expiretime");
+		if($path and  OC_FILESYSTEM::file_exists($path) and OC_FILESYSTEM::is_readable($path)){
 			$user=$_SESSION['user_id'];
+			$token=sha1("$user-$path-$expiretime");
 			$query=OC_DB::prepare("INSERT INTO *PREFIX*publiclink VALUES(?,?,?,?)");
 			$result=$query->execute(array($token,$path,$user,$expiretime));
 			if( PEAR::isError($result)) {