diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksController.js
index f1a6d27212815f4fd26b02c0545d9419897d01fa..906b28d4d6fc22b894beaf38934f3b350d5a7de2 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksController.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/widgets/LinksController.js
@@ -39,6 +39,9 @@ function LinksController(title, sampleTypeHints, isDisabled, samplesToEdit, show
 	//
 	this.isValid = function() {
 		if(sampleTypeHints) {
+			var sampleFromIdxOwner = mainController.currentView._sampleFormModel.sample;
+			var allOwnerAnnotations = FormUtil.getAnnotationsFromSample(sampleFromIdxOwner);
+			
 			for(var typeIdx = 0; typeIdx < sampleTypeHints.length; typeIdx++) {
 				var sampleTypeHint = sampleTypeHints[typeIdx];
 				var sampleTypeCode = sampleTypeHint["TYPE"];
@@ -52,9 +55,23 @@ function LinksController(title, sampleTypeHints, isDisabled, samplesToEdit, show
 				
 				if(sampleTypeCount > 0) {
 					for(var sampleIdx = 0; sampleIdx < linksModel.samplesByType[sampleTypeCode].length; sampleIdx++) {
-						var sampleWithAnnotations = linksModel.samplesByType[sampleTypeCode][sampleIdx];
-						for(var annotIdx = 0; annotIdx < sampleTypeAnnotations.length; annotIdx++) {
-							//TO-DO, Not enough information to validate required annotations here
+						var sampleFromIdx = linksModel.samplesByType[sampleTypeCode][sampleIdx];
+						var sampleFromIdxAnnotations = null;
+						
+						if(allOwnerAnnotations && allOwnerAnnotations[sampleFromIdx.permId]) {
+							sampleFromIdxAnnotations = allOwnerAnnotations[sampleFromIdx.permId];
+						}
+						
+						if(sampleFromIdxAnnotations) {
+							for(var annotIdx = 0; annotIdx < sampleTypeAnnotations.length; annotIdx++) {
+								var sampleTypeAnnotation = sampleTypeAnnotations[annotIdx];
+								var sampleTypeAnnotationType = sampleTypeAnnotation["TYPE"];
+								var sampleTypeAnnotationIsMandatory = sampleTypeAnnotation["MANDATORY"];
+								if(sampleTypeAnnotationIsMandatory && !sampleFromIdxAnnotations[sampleTypeAnnotationType]) {
+									Util.showError("You are missing an annotation " + sampleTypeAnnotationType + " on " + sampleFromIdx.code +".");
+									return false;
+								}
+							}
 						}
 					}
 				}