diff --git a/app/config/app.php b/app/config/app.php
index f13aa23..17b161a 100755
--- a/app/config/app.php
+++ b/app/config/app.php
@@ -78,7 +78,7 @@
     |
     */
 
-    'key' => 'tez6xP65a0BGj1ZtX7PPfYhC9OIW9AjS',
+    'key' => '5Tw7jczI5sFCyzbxUr7b1lbSyeFC1doT',
 
     'cipher' => MCRYPT_RIJNDAEL_128,
 
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index 4ddc460..dd14f22 100755
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -407,6 +407,9 @@
                             . $file['name'] . "'. File upload error code is " . $file['error'] . ".");
                     }
 
+                    //FIX - AIRAVATA - 2674
+                    //Replaced spaces with Underscore
+                    $file['name'] = str_replace(' ', '_', $file['name']);
                     //
                     // move file to experiment data directory
                     //
@@ -789,7 +792,7 @@
             array_multisort($order, SORT_ASC, $inputs);
         }
 
-        //var_dump( $inputs); exit;
+        // var_dump( $inputs); exit;
         foreach ($inputs as $input) {
             $disabled = "";
             if($input->isReadOnly)
@@ -1371,8 +1374,10 @@
         $applicationInputs = AppUtilities::get_application_inputs($experiment->executionId);
 
         $experimentInputs = $experiment->experimentInputs; // get current inputs
-        $experimentInputs = ExperimentUtilities::process_inputs( $experiment->userConfigurationData->experimentDataDir, $applicationInputs, $experimentInputs); // get new inputs
 
+        $experimentInputs = ExperimentUtilities::process_inputs( $experiment->userConfigurationData->experimentDataDir, $applicationInputs, $experimentInputs); // get new inputs
+        // var_dump($experimentInputs);
+        // exit;
         if (isset($_POST["enableEmailNotification"])) {
             $experiment->enableEmailNotification = intval($_POST["enableEmailNotification"]);
             $experiment->emailAddresses = array_unique(array_filter($_POST["emailAddresses"], "trim"));
diff --git a/public/js/util.js b/public/js/util.js
index 0b7d1e6..621f152 100644
--- a/public/js/util.js
+++ b/public/js/util.js
@@ -32,4 +32,4 @@
             return tooLargeFilenames;
         }
     };
-})();
\ No newline at end of file
+})();
