diff --git a/build/integration/features/bootstrap/FeatureContext.php b/build/integration/features/bootstrap/FeatureContext.php
index da5b62153b8f647d0fb4646e1c40352d58777ac3..766f3a667f58e9fe107d5e1c3154b8c79db3c2f8 100644
--- a/build/integration/features/bootstrap/FeatureContext.php
+++ b/build/integration/features/bootstrap/FeatureContext.php
@@ -49,28 +49,36 @@ class FeatureContext extends BehatContext {
 		$this->sendingToWith($verb, $url, null);
 	}
 
-	// /**
-	//  * @Then /^the status code should be "([^"]*)"$/
-	//  */
-	// public function theStatusCodeShouldBe($statusCode) {
-	// 	PHPUnit_Framework_Assert::assertEquals($statusCode, $this->response->getStatusCode());
-	// }
-
-   
+
+    /**
+    *  Parses the xml answer to get ocs response which doesn't match with
+    *  http one in v1 of the api.
+    */
     public function getOCSResponse($response){
          return $response->xml()->meta[0]->statuscode;
     }
 
 
 
+
     /**
-	 * @Then /^the status code should be "([^"]*)"$/
+	 * @Then /^the OCS status code should be "([^"]*)"$/
 	 */
-	public function theStatusCodeShouldBe($statusCode) {
+	public function theOCSStatusCodeShouldBe($statusCode) {
 		PHPUnit_Framework_Assert::assertEquals($statusCode, $this->getOCSResponse($this->response));
 	}
 
 
+     /**
+	 * @Then /^the HTTP status code should be "([^"]*)"$/
+	 */
+	public function theHTTPStatusCodeShouldBe($statusCode) {
+		PHPUnit_Framework_Assert::assertEquals($statusCode, $this->response->getStatusCode());
+	}
+
+	
+
+
 	/**
 	 * @Given /^As an "([^"]*)"$/
 	 */
@@ -89,7 +97,7 @@ class FeatureContext extends BehatContext {
 	 * @Given /^user "([^"]*)" exists$/
 	 */
 	public function userExists($user) {
-		$fullUrl = $this->baseUrl . "v{$this->apiVersion}.php/cloud/users/$user";
+		$fullUrl = $this->baseUrl . "v2.php/cloud/users/$user";
 		$client = new Client();
 		$options = [];
 		if ($this->currentUser === 'admin') {
@@ -97,6 +105,7 @@ class FeatureContext extends BehatContext {
 		}
 
 		$this->response = $client->get($fullUrl, $options);
+		PHPUnit_Framework_Assert::assertEquals(200, $this->response->getStatusCode());
 	}
 
 	/**
@@ -155,7 +164,7 @@ class FeatureContext extends BehatContext {
 	 * @Given /^group "([^"]*)" exists$/
 	 */
 	public function groupExists($group) {
-		$fullUrl = $this->baseUrl . "v{$this->apiVersion}.php/cloud/groups/$group";
+		$fullUrl = $this->baseUrl . "v2.php/cloud/groups/$group";
 		$client = new Client();
 		$options = [];
 		if ($this->currentUser === 'admin') {
@@ -163,6 +172,7 @@ class FeatureContext extends BehatContext {
 		}
 
 		$this->response = $client->get($fullUrl, $options);
+		PHPUnit_Framework_Assert::assertEquals(200, $this->response->getStatusCode());
 	}
 
 	/**
diff --git a/build/integration/features/provisioning-v1.feature b/build/integration/features/provisioning-v1.feature
index 384452d50a35c4e0a36fa8c03c614787e059b61a..2bfd6a06d0d6a4c83fd2a75f1f51d41053815fc5 100644
--- a/build/integration/features/provisioning-v1.feature
+++ b/build/integration/features/provisioning-v1.feature
@@ -5,12 +5,14 @@ Feature: provisioning
   Scenario: Getting an not existing user
     Given As an "admin"
     When sending "GET" to "/cloud/users/test"
-    Then the status code should be "998"
+    Then the OCS status code should be "998"
+    And the HTTP status code should be "200"
 
   Scenario: Listing all users
     Given As an "admin"
     When sending "GET" to "/cloud/users"
-    Then the status code should be "100"
+    Then the OCS status code should be "100"
+    And the HTTP status code should be "200"
 
   Scenario: Create a user
     Given As an "admin"
@@ -18,7 +20,8 @@ Feature: provisioning
     When sending "POST" to "/cloud/users" with
       | userid | brand-new-user |
       | password | 123456 |
-    Then the status code should be "100"
+    Then the OCS status code should be "100"
+    And the HTTP status code should be "200"
     And user "brand-new-user" exists
 
 
@@ -30,7 +33,8 @@ Feature: provisioning
       | value | 12MB |
       | key | email |
       | value | brand-new-user@gmail.com |
-    Then the status code should be "100"
+    Then the OCS status code should be "100"
+    And the HTTP status code should be "200"
     And user "brand-new-user" exists
 
 
@@ -38,7 +42,8 @@ Feature: provisioning
     Given As an "admin"
     And user "brand-new-user" exists
     When sending "DELETE" to "/cloud/users/brand-new-user" 
-    Then the status code should be "100"
+    Then the OCS status code should be "100"
+    And the HTTP status code should be "200"
     And user "brand-new-user" does not exist
 
 
@@ -49,7 +54,8 @@ Feature: provisioning
       | groupid | new-group |
       | password | 123456 |
 
-    Then the status code should be "100"
+    Then the OCS status code should be "100"
+    And the HTTP status code should be "200"
     And group "new-group" exists
 
 
@@ -57,7 +63,8 @@ Feature: provisioning
     Given As an "admin"
     And group "new-group" exists
     When sending "DELETE" to "/cloud/groups/new-group"
-    Then the status code should be "100"
+    Then the OCS status code should be "100"
+    And the HTTP status code should be "200"
     And group "new-group" does not exist
 
 
diff --git a/build/integration/features/provisioning-v2.feature b/build/integration/features/provisioning-v2.feature
index 72ceed5d6a53d7bc516d29e42f6bbfb78422e2b8..6140128684dc56e5252177aa3e8096ff6e205bd7 100644
--- a/build/integration/features/provisioning-v2.feature
+++ b/build/integration/features/provisioning-v2.feature
@@ -5,5 +5,5 @@ Feature: provisioning
   Scenario: Getting an not existing user
     Given As an "admin"
     When sending "GET" to "/cloud/users/test"
-    Then the status code should be "404"
+    Then the HTTP status code should be "404"