diff --git a/mod/fetch.php b/mod/fetch.php
index f0838af50..cfcd82bb3 100644
--- a/mod/fetch.php
+++ b/mod/fetch.php
@@ -27,7 +27,7 @@ function fetch_init($a){
 			$parts = parse_url($r[0]["author-link"]);
 			$host = $parts["scheme"]."://".$parts["host"];
 
-			$location = $host."/fetch/".$a->argv[1]."/".$guid;
+			$location = $host."/fetch/".$a->argv[1]."/".urlencode($guid);
 
 			header("HTTP/1.1 301 Moved Permanently");
 			header("Location:".$location);
diff --git a/mod/p.php b/mod/p.php
index df904372a..899b51116 100644
--- a/mod/p.php
+++ b/mod/p.php
@@ -31,7 +31,7 @@ function p_init($a){
 			$parts = parse_url($r[0]["author-link"]);
 			$host = $parts["scheme"]."://".$parts["host"];
 
-			$location = $host."/p/".$guid.".xml";
+			$location = $host."/p/".urlencode($guid).".xml";
 
 			header("HTTP/1.1 301 Moved Permanently");
 			header("Location:".$location);