diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/DataSetForm/DataSetFormController.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/DataSetForm/DataSetFormController.js
index eaa5376c38533f160332ef12ca5a4b5a966c505c..9cfdad8612c0de5410e0edded93df1ca9d8335fd 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/DataSetForm/DataSetFormController.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/DataSetForm/DataSetFormController.js
@@ -113,6 +113,7 @@ function DataSetFormController(mainController, mode, sample, dataset) {
 			dataSetTypeCode = $('#DATASET_TYPE').val();
 		} else if(this._dataSetFormModel.mode === FormMode.EDIT) {
 			method = "updateDataSet";
+			dataSetCode = this._dataSetFormModel.dataSet.code;
 			dataSetTypeCode = this._dataSetFormModel.dataSet.dataSetTypeCode;
 		}
 		
@@ -120,7 +121,8 @@ function DataSetFormController(mainController, mode, sample, dataset) {
 				//API Method
 				"method" : method,
 				//Identification Info
-				"sampleIdentifier" : sampleIdentifier,
+				"dataSetCode" : dataSetCode, //Used for updates
+				"sampleIdentifier" : sampleIdentifier, //Use for creation
 				"dataSetType" : dataSetTypeCode,
 				"filenames" : _this._dataSetFormModel.files,
 				"folderName" : folderName,
@@ -154,7 +156,11 @@ function DataSetFormController(mainController, mode, sample, dataset) {
 					var callbackOk = function() {
 						_this.isFormDirty = false;
 						Util.unblockUI();
-						mainController.changeView('showViewSamplePageFromPermId', _this._dataSetFormModel.sample.permId);
+						if(_this._dataSetFormModel.mode === FormMode.CREATE) {
+							mainController.changeView('showViewSamplePageFromPermId', _this._dataSetFormModel.sample.permId);
+						} else if(_this._dataSetFormModel.mode === FormMode.EDIT) {
+							mainController.changeView('showViewDataSetPageFromPermId', _this._dataSetFormModel.dataSet.code);
+						}
 					}
 					Util.showSuccess("DataSet Created.", callbackOk);
 				} else { //This should never happen
diff --git a/plasmid/source/core-plugins/newbrowser/1/dss/reporting-plugins/newbrowserapi/script.py b/plasmid/source/core-plugins/newbrowser/1/dss/reporting-plugins/newbrowserapi/script.py
index 3b21a4874624757feaa86d6830b1d244c03289ec..a697b8da729e6508931cc317abb8b09544e6a0d0 100644
--- a/plasmid/source/core-plugins/newbrowser/1/dss/reporting-plugins/newbrowserapi/script.py
+++ b/plasmid/source/core-plugins/newbrowser/1/dss/reporting-plugins/newbrowserapi/script.py
@@ -89,6 +89,18 @@ def insertUpdateProject(tr, parameters, tableBuilder):
 	return True;
 	
 def updateDataSet(tr, parameters, tableBuilder):
+	dataSetCode = parameters.get("dataSetCode"); #String
+	metadata = parameters.get("metadata"); #java.util.LinkedHashMap<String, String> where the key is the name
+	dataSet = tr.getDataSetForUpdate(dataSetCode);
+	
+	#Assign Data Set properties
+	for key in metadata.keySet():
+		propertyValue = unicode(metadata[key]);
+		if propertyValue == "":
+			propertyValue = None;
+		
+		dataSet.setPropertyValue(key,propertyValue);
+	
 	#Return from the call
 	return True;