diff --git a/prive/javascript/ajaxCallback.js b/prive/javascript/ajaxCallback.js
index 658a308a2b95e5c9e2d562f8681891e442695732..172fa0ff1482f911a1ec383ec922c648d4c306c4 100644
--- a/prive/javascript/ajaxCallback.js
+++ b/prive/javascript/ajaxCallback.js
@@ -171,23 +171,27 @@ jQuery.getScript = function(url,callback){
 /**
  * if not fully visible, scroll the page to position
  * target block at the top of page
- * if force = true, allways scroll
+ * if force = true, always scroll
  *
  * @param bool force
  */
 jQuery.fn.positionner = function(force, setfocus) {
 	var offset = jQuery(this).offset();
 	var hauteur = parseInt(jQuery(this).css('height'));
+	var marge = jQuery.spip.positionner_marge || 5;
 	var scrolltop = self['pageYOffset'] ||
 		jQuery.boxModel && document.documentElement[ 'scrollTop' ] ||
 		document.body[ 'scrollTop' ];
 	var h = jQuery(window).height();
 	var scroll=0;
 
-	if (force || (offset && offset['top'] - 5 <= scrolltop))
-		scroll = offset['top'] - 5;
-	else if (offset && offset['top'] + hauteur - h + 5 > scrolltop)
-		scroll = Math.min(offset['top'] - 5, offset['top'] + hauteur - h + 15);
+	if (force || (offset && offset['top'] - marge <= scrolltop)) {
+		scroll = offset['top'] - marge;
+	}
+	else if (offset && offset['top'] + hauteur - h + marge > scrolltop) {
+		scroll = Math.min(offset['top'] - marge - 15, offset['top'] + hauteur - h + 40);
+	}
+
 	if (scroll)
 		jQuery('html,body')
 		.animate({scrollTop: scroll}, 300);
@@ -1064,5 +1068,4 @@ onAjaxLoad(function() {
 		jQuery("input[placeholder]:text",this).placeholderLabel();
 		jQuery('.spip_logo_survol',this).hover(spip_logo_survol_hover, spip_logo_survol_out);
 	}
-});
-
+});
\ No newline at end of file