Index: admin/blog_pref.php
===================================================================
--- admin/blog_pref.php	(revision 2852)
+++ admin/blog_pref.php	(revision 2858)
@@ -56,6 +56,5 @@
 
 	$action = $core->adminurl->get("admin.blog");
-	$redir = $core->adminurl->get("admin.blog",array('id' => "%s"),'&');
-	$redir = str_replace('%25s','%s',$redir);
+	$redir = $core->adminurl->get("admin.blog",array('id' => "%s"),'&',true);
 }
 
Index: admin/media.php
===================================================================
--- admin/media.php	(revision 2852)
+++ admin/media.php	(revision 2858)
@@ -298,5 +298,5 @@
 	$temp_params = $page_url_params;
 	$temp_params['d']='%s';
-	$bc_template = str_replace("%25s","%s",$core->adminurl->get('admin.media',$temp_params));
+	$bc_template = $core->adminurl->get('admin.media',$temp_params,'&amp;',true);
 	$breadcrumb_media = $core->media->breadCrumb($bc_template,'<span class="page-title">%s</span>');
 	if ($breadcrumb_media == '') {
@@ -584,5 +584,5 @@
 	$fname = $f->basename;
 
-	$class = 'media-item media-col-'.($i%2); 
+	$class = 'media-item media-col-'.($i%2);
 
 	if ($f->d) {
Index: admin/media_item.php
===================================================================
--- admin/media_item.php	(revision 2852)
+++ admin/media_item.php	(revision 2858)
@@ -236,5 +236,5 @@
 $temp_params = $media_page_url_params;
 $temp_params['d']='%s';
-$bc_template = str_replace("%25s","%s",$core->adminurl->get('admin.media',$temp_params));
+$bc_template = $core->adminurl->get('admin.media',$temp_params,'&amp;',true);
 $temp_params['d']='';
 $home_url=$core->adminurl->get('admin.media',$temp_params);
Index: admin/post.php
===================================================================
--- admin/post.php	(revision 2856)
+++ admin/post.php	(revision 2858)
@@ -41,8 +41,6 @@
 $can_delete = false;
 
-$post_headlink = '<link rel="%s" title="%s" href="'.$core->adminurl->get('admin.post',array('id' => "%s")).'" />';
-$post_headlink = str_replace('%25s','%s',$post_headlink);
-$post_link = '<a href="'.$core->adminurl->get('admin.post',array('id' => "%s")).'" title="%s">%s</a>';
-$post_link = str_replace('%25s','%s',$post_link);
+$post_headlink = '<link rel="%s" title="%s" href="'.$core->adminurl->get('admin.post',array('id' => "%s"),'&amp;',true).'" />';
+$post_link = '<a href="'.$core->adminurl->get('admin.post',array('id' => "%s"),'&amp;',true).'" title="%s">%s</a>';
 $next_link = $prev_link = $next_headlink = $prev_headlink = null;
 
Index: inc/admin/lib.dc.adminurl.php
===================================================================
--- inc/admin/lib.dc.adminurl.php	(revision 2852)
+++ inc/admin/lib.dc.adminurl.php	(revision 2858)
@@ -73,7 +73,8 @@
 	 * @param  boolean $urlencode set to true if url may not be encoded
 	 * @param  string $separator separator to use between QS parameters
+	 * @param  boolean $parametric set to true if url will be used as (s)printf() format.
 	 * @return string            the forged url
 	 */
-	public function get($name,$params=array(),$separator='&amp;')
+	public function get($name,$params=array(),$separator='&amp;',$parametric=false)
 	{
 		if (!isset($this->urls[$name])) {
@@ -86,7 +87,7 @@
 			$u .= '?'.http_build_query($p,'',$separator);
 		}
-		return $u;
+		// Dirty hack to get back %s instead of %25s in URLs used with (s)printf(), as http_build_query urlencode() its result.
+		return $parametric ? str_replace('%25s','%s',$u) : $u;
 	}
-
 
 	/**
@@ -106,5 +107,4 @@
 		http::redirect($this->get($name,$params,'&').$suffix);
 	}
-
 
 	/**
@@ -145,10 +145,8 @@
 	}
 
-
-
 	/**
 	 * retrieves a URL (decoded — useful for echoing) given its name, and optional parameters
 	 *
-	 * should be used carefully, parameters are no more escaped
+	 * @deprecated 	should be used carefully, parameters are no more escaped
 	 *
 	 * @param  string $name      URL Name
Index: inc/admin/lib.pager.php
===================================================================
--- inc/admin/lib.pager.php	(revision 2852)
+++ inc/admin/lib.pager.php	(revision 2858)
@@ -214,6 +214,5 @@
 	{
 		if ($this->core->auth->check('categories',$this->core->blog->id)) {
-			$cat_link = '<a href="'.$this->core->adminurl->get('admin.category',array('id' => '%s')).'">%s</a>';
-			$cat_link = str_replace('%25s','%s',$cat_link);
+			$cat_link = '<a href="'.$this->core->adminurl->get('admin.category',array('id' => '%s'),'&amp;',true).'">%s</a>';
 		} else {
 			$cat_link = '%2$s';
