Index: wp-includes/default-filters.php
===================================================================
--- wp-includes/default-filters.php	(revision 18974)
+++ wp-includes/default-filters.php	(working copy)
@@ -180,6 +180,7 @@
 add_filter( 'option_blog_charset',      '_wp_specialchars'                    ); // IMPORTANT: This must not be wp_specialchars() or esc_html() or it'll cause an infinite loop
 add_filter( 'option_home',              '_config_wp_home'                     );
 add_filter( 'option_siteurl',           '_config_wp_siteurl'                  );
+add_filter( 'admin_url',                '_strip_domain_for_ajax'              );
 add_filter( 'tiny_mce_before_init',     '_mce_set_direction'                  );
 add_filter( 'pre_kses',                 'wp_pre_kses_less_than'               );
 add_filter( 'sanitize_title',           'sanitize_title_with_dashes',   10, 3 );
Index: wp-includes/link-template.php
===================================================================
--- wp-includes/link-template.php	(revision 18974)
+++ wp-includes/link-template.php	(working copy)
@@ -2375,4 +2375,20 @@
 	}
 }
 
+/**
+ * Make AJAX requests relative for proper work with IDN domains.
+ *
+ * @since 3.4.0
+ * @access private
+ *
+ * @param string $url Admin URL to strip the domain from.
+ * @return string Relative admin URL link.
+*/
+function _strip_domain_for_ajax( $url ) {
+	if ( false !== strpos( $url, 'admin-ajax.php' ) )
+		$url = preg_replace( '#^http(s)?://[^/]*#', '', $url );
+
+	return $url;
+}
+
 ?>
