diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableController.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableController.js
index c67303535105e097ddd23acd45c9acf2c5d6bb79..93a2bdd4c9a4936a3b2554c2c8ae341a6366dde7 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableController.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableController.js
@@ -37,26 +37,36 @@ function FreeFormTableController(sample, isEnabled) {
 			this._freeFormTableModel.tables = JSON.parse(state);
 		}
 	}
-	
+
 	this.addTable = function(tableIdx) {
 		var newTableIndex = tableIdx + 1;
 		this._freeFormTableModel.tables.splice(newTableIndex, 0, this._freeFormTableModel.getDefaultTableToAdd()); //Adds to model
 		var newTableModel = this._freeFormTableModel.tables[newTableIndex]; //New model
 		var $newTableContainer = this._freeFormTableView._getTableWithContainer(newTableModel, newTableIndex); //Creates Table from model
 		this._freeFormTableView.addTable(newTableIndex, $newTableContainer);
+		
+		this.save();
 	}
 	
 	this.deleteTable = function(tableIdx) {
 		this._freeFormTableModel.tables.splice(tableIdx, 1); //Removes from model
 		this._freeFormTableView.deleteTable(tableIdx); //Removes from view
+		
+		this.save();
 	}
 	
 	this.addRow = function(tableIdx, rowIdx) {
+		var tableModel = this._freeFormTableModel.tables[tableIdx];
+		var numColumns = tableModel.modelDetailed[0].length;
+		tableModel.modelDetailed.splice(rowIdx, 0, [numColumns]);
 		
+		this.save();
 	}
 	
 	this.delRow = function(tableIdx, rowIdx) {
+		tableModel.modelDetailed.splice(rowIdx, 1);
 		
+		this.save();
 	}
 	
 	this.addColumn = function(tableIdx, colIdx) {
diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableModel.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableModel.js
index 2937401c2482895249e8d3f78a0a3a68c24d09ee..379680050942d4160ade993a598462e9c3f3c852 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableModel.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableModel.js
@@ -18,8 +18,8 @@ function FreeFormTableModel(sample, isEnabled) {
 	this.samplePropertyCode = "FREEFORM_TABLE_STATE";
 	this.defaultTable = {
 			name : "Untitled",
-			modelDetailed : [['1,1']],
-			modelMini : { rows : ['1'], columns : ['1'] }
+			modelDetailed : [['1,1', '1,2']],
+			modelMini : { rows : ['1'], columns : ['1', '2'] }
 	};
 	
 	this.getDefaultTableToAdd = function() {
diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableView.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableView.js
index 15d1d512291f824dfc0b1072454d3dd860982d4c..78045a483b0d50532063fb6eb9373ac3d3f31eb3 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableView.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm/widgets/FreeFormTableView.js
@@ -110,7 +110,7 @@ function FreeFormTableView(freeFormTableController, freeFormTableModel) {
 		}
 		var $rowsTitle = $("<h4>").append("Rows");
 		var $rowsContainer = $("<div>");
-		for(var i = 0; i < modelMini.columns.length; i++) {
+		for(var i = 0; i < modelMini.rows.length; i++) {
 			if(this._freeFormTableModel.isEnabled) {
 				var $textField = FormUtil._getInputField('text', null, "Row " + (i+1), null, false);
 				$textField.val(modelMini.rows[i]);
@@ -166,7 +166,6 @@ function FreeFormTableView(freeFormTableController, freeFormTableModel) {
 					$column.append(modelDetailed[i][j]);
 				}
 			}
-			
 		}
 		return $table;
 	}
@@ -231,7 +230,10 @@ function FreeFormTableView(freeFormTableController, freeFormTableModel) {
 		var focusEventTDC = this._getFocusEventAction(
 				tableIdx,
 				function(selectedField) { return selectedField.columnIdx !== null; },
-				function(selectedField) { _this._freeFormTableController.delColumn(selectedField.tableIdx, selectedField.columnIdx); }
+				function(selectedField) { 
+					_this._freeFormTableController.delColumn(selectedField.tableIdx, selectedField.columnIdx);
+					_this._freeFormTableModel.selectedField = null;
+				}
 		);
 		$toolBarBtnTDC.click(focusEventTDC);
 		
@@ -258,7 +260,10 @@ function FreeFormTableView(freeFormTableController, freeFormTableModel) {
 		var focusEventTDR = this._getFocusEventAction(
 				tableIdx,
 				function(selectedField) { return selectedField.rowIdx !== null; },
-				function(selectedField) { _this._freeFormTableController.delRow(selectedField.tableIdx, selectedField.rowIdx); }
+				function(selectedField) { 
+					_this._freeFormTableController.delRow(selectedField.tableIdx, selectedField.rowIdx);
+					_this._freeFormTableModel.selectedField = null;
+				}
 		);
 		$toolBarBtnTDR.click(focusEventTDR);