diff --git a/Client/Api/StatementsApiClient.php b/Client/Api/StatementsApiClient.php
index <HASH>..<HASH> 100644
--- a/Client/Api/StatementsApiClient.php
+++ b/Client/Api/StatementsApiClient.php
@@ -146,7 +146,10 @@ class StatementsApiClient extends ApiClient implements StatementsApiClientInterf
             return $createdStatements;
         } else {
             $createdStatement = clone $statements;
-            $createdStatement->setId($statementIds[0]);
+
+            if (200 === $validStatusCode) {
+                $createdStatement->setId($statementIds[0]);
+            }
 
             return $createdStatement;
         }
When predefined id is setted, It doesn't spect content from store request (following xAPI spec <I> is used when id is included), so in case of <I> we don't need to fill id