diff --git wp-includes/default-constants.php wp-includes/default-constants.php
index 47b9cd7..2774615 100644
--- wp-includes/default-constants.php
+++ wp-includes/default-constants.php
@@ -35,8 +35,25 @@ function wp_initial_constants( ) {
 		$blog_id = 1;
 
 	// set memory limits.
-	if ( function_exists('memory_get_usage') && ( (int) @ini_get('memory_limit') < abs(intval(WP_MEMORY_LIMIT)) ) )
-		@ini_set('memory_limit', WP_MEMORY_LIMIT);
+	if ( function_exists( 'memory_get_usage' ) ) {
+		$memory_limit = @ini_get( 'memory_limit' );
+		switch( substr( $memory_limit, -1 ) ) {
+			case 'M': case 'm':
+				$memory_limit = (int) $memory_limit;
+				break;
+			case 'G': case 'g':
+				$memory_limit = (int) $memory_limit * 1024;
+				break;
+			case 'K': case 'k':
+				$memory_limit = (int) $memory_limit / 1024;
+				break;
+			default:
+				$memory_limit = (int) $memory_limit / 1048576;
+		}
+
+		if ( $memory_limit < abs( intval( WP_MEMORY_LIMIT ) ) )
+			@ini_set( 'memory_limit', WP_MEMORY_LIMIT );
+	}
 
 	if ( !defined('WP_CONTENT_DIR') )
 		define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down
