diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/css/style.css b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/css/style.css
index 3588c18264f0a3e7737eb13324046238c44ff0fc..6e1f62cb940807a1c8f421b0e699a926ec6e0068 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/css/style.css
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/css/style.css
@@ -461,7 +461,7 @@ table.downloads {
 }
 
 /*
- * Plate Widget
+ * Plate & Storage Widget
  */
 .gridTable {
 	border : none !important;
@@ -481,6 +481,17 @@ table.downloads {
 	border-color: #CCCCCC;
 }
 
+/*
+ * Plate Widget
+ */
+.gridTable td .well {
+ 	background-color: #E7E7E7;
+ }
+.gridTable td .well:hover {
+	background-color: #C7C7C7;
+	cursor : pointer;
+}
+
 /*
  * Storage Widget
  */
diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js
index 8584269f6d818b7499c30bacc8ae5aef958dfd6b..de511d586bbdf25a1dec72e31eaf443974a51108 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js
@@ -535,6 +535,36 @@ function ServerFacade(openbisServer) {
 		this.openbisServer.searchForDataSets(dataSetCriteria, callbackFunction)
 	}
 	
+	this.searchContained = function(permId, callbackFunction) {
+		var matchClauses = [];
+		
+		var subCriteria = {
+				"@type" : "SearchSubCriteria",
+				"targetEntityKind" : "SAMPLE_CONTAINER",
+				"criteria" : {
+					matchClauses : [{
+							"@type":"AttributeMatchClause",
+							fieldType : "ATTRIBUTE",			
+							attribute : "PERM_ID",
+							desiredValue : permId
+						}],
+					operator : "MATCH_ALL_CLAUSES"
+			}
+		}
+		
+		var sampleCriteria = 
+		{
+			matchClauses : matchClauses,
+			subCriterias : [ subCriteria ],
+			operator : "MATCH_ALL_CLAUSES"
+		};
+		
+		var localReference = this;
+		this.openbisServer.searchForSamplesWithFetchOptions(sampleCriteria, ["PROPERTIES"], function(data) {
+			callbackFunction(localReference.getInitializedSamples(data.result));
+		});
+	}
+	
 	this.searchWithIdentifier = function(sampleIdentifier, callbackFunction)
 	{	
 		this.searchWithIdentifiers([sampleIdentifier], callbackFunction);
diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateController.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateController.js
index b9046a63aba805fdede7b6cbf926338e5331b773..2b347df33323347e1647e5b0d44fb971ddb00471 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateController.js
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateController.js
@@ -19,6 +19,11 @@ function PlateController(sample) {
 	this._plateView = new PlateView(this, this._plateModel);
 	
 	this.init = function($container) {
-		this._plateView.repaint($container);
+		var _this = this;
+		$container.append("Loading Wells ...");
+		mainController.serverFacade.searchContained(this._plateModel.sample.permId, function(contained) {
+			_this._plateModel.wells = contained;
+			_this._plateView.repaint($container);
+		});
 	}
 }
\ No newline at end of file
diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateModel.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateModel.js
index 2f5248f941d82a261afa2991d5e1901dad8a744d..c0b3bd972f292285e1ad35fb064c678d4664f27e 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateModel.js
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateModel.js
@@ -16,6 +16,7 @@
 
 function PlateModel(sample) {
 	this.sample = sample;
+	this.wells = null;
 	
 	var getRowsAndColsFromPlateSample = function(sample) {
 		try {
@@ -34,6 +35,16 @@ function PlateModel(sample) {
 	this.numRows = getRowsAndColsFromPlateSample(sample)[0];
 	this.numColumns = getRowsAndColsFromPlateSample(sample)[1];
 	
+	this.getWell = function(rowNum, colNum) {
+		var wellIdentifier = this.sample.identifier + ":" + this.getAlphabetLabel(rowNum) + colNum;
+		for(var wellIdx = 0; wellIdx < this.wells.length; wellIdx++) {
+			if(this.wells[wellIdx].identifier === wellIdentifier) {
+				var toReturn = this.wells[wellIdx];
+				return toReturn;
+			}
+		}
+		return null;
+	}
 	
 	this.getAlphabetLabel = function(number) {
 		var alphabet = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateView.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateView.js
index 52f1798e24d04933c9e1f0ad78a2e710af6e0133..7eb6d9860e59130eef1dbe3c39d95f3f2251c13e 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateView.js
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/PlateView.js
@@ -19,6 +19,7 @@ function PlateView(plateController, plateModel) {
 	
 	this.repaint = function($container) {
 		var _this = this;
+		$container.empty();
 		var gridTable = $("<table>", { "class" : "table table-bordered gridTable" });
 		
 		for(var i = 0; i <= this._plateModel.numRows; i++) {
@@ -32,7 +33,11 @@ function PlateView(plateController, plateModel) {
 				} else if (j === 0){ //header with row letter
 					$cell = $("<th>").append(this._plateModel.getAlphabetLabel(i-1));
 				} else {
-					$cell = $("<td>");
+					var well = this._plateModel.getWell(i-1,j);
+					$cell = $("<td>").append("&nbsp;");
+					if(well) {
+						$cell.addClass('well');
+					}
 				}
 				$row.append($cell);
 			}