diff --git a/api/index.php b/api/index.php
index f3c22be05a12e80db6fd7d33db7137d24e0b900d..b74ea3c5680aeab5ce42d2db7fbf3c2d49db2b2a 100644
--- a/api/index.php
+++ b/api/index.php
@@ -23,15 +23,12 @@
 			function_exists("ob_gzhandler")) {
 
 		ob_start("ob_gzhandler");
+	} else {
+		ob_start();
 	}
 
 	$link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
 
-	$session_expire = SESSION_EXPIRE_TIME; //seconds
-	$session_name = (!defined('TTRSS_SESSION_NAME')) ? "ttrss_sid_api" : TTRSS_SESSION_NAME . "_api";
-
-	session_name($session_name);
-
 	$input = file_get_contents("php://input");
 
 	if (defined('_API_DEBUG_HTTP_ENABLED') && _API_DEBUG_HTTP_ENABLED) {
@@ -70,4 +67,7 @@
 
 	db_close($link);
 
+	header("Api-Content-Length: " . ob_get_length());
+
+	ob_end_flush();
 ?>
diff --git a/classes/api.php b/classes/api.php
index 801f99566f4e050277e787d5fafb20eee2b743e9..028cbf929a3d63204905b123b787c24278d237a4 100644
--- a/classes/api.php
+++ b/classes/api.php
@@ -11,6 +11,7 @@ class API extends Handler {
 
 	function before($method) {
 		if (parent::before($method)) {
+			header("Content-Type: text/plain");
 
 			if (!$_SESSION["uid"] && $method != "login" && $method != "isloggedin") {
 				print $this->wrap(self::STATUS_ERR, array("error" => 'NOT_LOGGED_IN'));
@@ -24,7 +25,6 @@ class API extends Handler {
 
 			$this->seq = (int) $_REQUEST['seq'];
 
-			header("Content-Type: text/plain");
 			return true;
 		}
 		return false;