diff --git a/gtf.engine/gtf.engines/subscription.php b/gtf.engine/gtf.engines/subscription.php
index 8570751ad4ff4de2be33dc8b844b5a91710c36ba..a25d7011ed26c03ef9603cb03801a0d6561fdcb4 100755
--- a/gtf.engine/gtf.engines/subscription.php
+++ b/gtf.engine/gtf.engines/subscription.php
@@ -258,7 +258,9 @@ if ($oBd->erreurRencontree) {
                                 if ($bAutorisationDemande == true) {
                                     //Création d'une nouvelle demande.
                                     //writeToLog($properties["workspace_dir"],$properties["subscription_log_file"]);
-                                    $oGtfFmwParser = new GtfFmwParser($this->aProperties["workspace_dir"] . "/" . $aDemande['workspace_id'] . "/fme/" . $aDemande['fmw_file'], $this->aProperties);
+                                    // Lit le contenu du fichier .fmw du projet.
+                                    $sFmwFileContent = getFileContentInWsDataDir("gtf", "workspace", $aDemande['workspace_id'], 'fme', $aDemande['fmw_file']);
+                                    $oGtfFmwParser = new GtfFmwParser($aDemande['fmw_file'], $this->aProperties, $sFmwFileContent);
                                     $iNouvelId = "";
 
                                     if ($bIsFile) {