diff --git a/core/trunk/core/class/docservers_controler.php b/core/trunk/core/class/docservers_controler.php
index 92673c72380171877cd889fc61c4f3c814cff02d..f60d1deb731922b046c560784f68da706eaa16dc 100644
--- a/core/trunk/core/class/docservers_controler.php
+++ b/core/trunk/core/class/docservers_controler.php
@@ -1212,8 +1212,8 @@ class docservers_controler
         $history = new history();
         $coreTools = new core_tools();
         $whereClause = '';
-        if ($_SESSION['origin'] <> 'basket' 
-            && $_SESSION['origin'] <> 'workflow'
+        if (isset($_SESSION['origin']) && ($_SESSION['origin'] <> 'basket' 
+            && $_SESSION['origin'] <> 'workflow')
         ) {
             if (isset(
                 $_SESSION['user']['security']
@@ -1405,6 +1405,7 @@ class docservers_controler
                                 $ent = new entity();
                                 $ent->increaseListinstanceViewed($gedId);
                             }
+                            $encodedContent = '';
                             if (file_exists($file) && !$error) {
                                 if ($calledByWS) {
                                     $content = '';
@@ -1438,7 +1439,9 @@ class docservers_controler
                                     'called_by_ws' => $calledByWS, 
                                     'error' => '',
                                 );
-                                if (file_exists($extract['tmpArchive'])) {
+                                if (isset($extract) 
+                                    && file_exists($extract['tmpArchive'])
+                                ) {
                                     Ds_washTmp($extract['tmpArchive']);
                                 }
                                 return $result;
diff --git a/core/trunk/core/docservers_tools.php b/core/trunk/core/docservers_tools.php
index 9d2538e1f74ba34ab3e5acf33adada2d129758bc..5d65ea431cecb05e1597080f7da66a1a6270f65b 100644
--- a/core/trunk/core/docservers_tools.php
+++ b/core/trunk/core/docservers_tools.php
@@ -167,7 +167,7 @@ function Ds_createPathOnDocServer($docServer)
 function Ds_extractArchive($fileInfos, $fingerprintMode) 
 {
     //var_dump($fileInfos);
-    if ($fileInfos['tmpDir'] == '') {
+    if (!isset($fileInfos['tmpDir']) || $fileInfos['tmpDir'] == '') {
         $tmp = $_SESSION['config']['tmppath'];
     } else {
         $tmp = $fileInfos['tmpDir'];
@@ -275,7 +275,7 @@ function Ds_extractArchive($fileInfos, $fingerprintMode)
                     continue;
                 } else {
                     preg_match("'CI|.tar'", $fileScan, $out);
-                    if (count($out[0]) == 1) {
+                    if (isset($out[0]) && count($out[0]) == 1) {
                         $execError = '';
                         $tmpArchiveBis = uniqid(rand());
                         if (mkdir(
@@ -323,7 +323,7 @@ function Ds_extractArchive($fileInfos, $fingerprintMode)
                             }
                             $tmpCmd = '';
                             exec($commandBis, $tmpCmd, $execError);
-							//echo $commandBis;exit;
+                            //echo $commandBis;exit;
                             if ($execError > 0) {
                                 $result = array(
                                     'status' => 'ko',