diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm.js
index 26c2b0836287c7768f3af6e7ef4db3ee5efada48..c6846b70d11dd99518f634692b9f7a171bac97e0 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleForm.js
@@ -677,6 +677,14 @@ function SampleForm(serverFacade, inspector, containerId, profile, sampleTypeCod
 			}
 		}
 		
+		//Children to create
+		var samplesToCreate = [];
+		this.sampleLinksChildren.getSamples().forEach(function(child) {
+			if(child.newSample) {
+				samplesToCreate.push(child);
+			}
+		});
+		
 		//Method
 		var method = "";
 		if(this.mode === SampleFormMode.CREATE) {
@@ -699,6 +707,7 @@ function SampleForm(serverFacade, inspector, containerId, profile, sampleTypeCod
 				"sampleParents": sampleParentsFinal,
 				//Children links
 				"sampleChildren": sampleChildrenFinal,
+				"sampleChildrenNew": samplesToCreate,
 				"sampleChildrenRemoved": sampleChildrenRemovedFinal,
 				//Experiment parameters
 				"sampleExperimentProject": sampleProject,
diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/SampleLinksWidget.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/SampleLinksWidget.js
index 9fbeb8cf981160d18c35d970e989c7087e380ae7..d17338020f71a1be51f2825e16e68438f08823dd 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/SampleLinksWidget.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/SampleLinksWidget.js
@@ -502,6 +502,17 @@ function SampleLinksWidget(containerId, profile, serverFacade, title, sampleType
 		}
 	}
 	
+	this.getSamples = function() {
+		var samples = new Array();
+		for(sampleObjKey in this.samples) {
+			var sampleObj = this.samples[sampleObjKey];
+			if(sampleObj !== null) {
+				samples.push(sampleObj);
+			}
+		}
+		return samples;
+	}
+	
 	this.getSamplesIdentifiers = function() {
 		var sampleIdentifiers = new Array();
 		for(sampleObjKey in this.samples) {
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 445fd7932a5b854c692f83b886faaa0db1fe9b2b..7a345b0400370a3c64fbcdf1a0e542c502ac4a6b 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
@@ -131,6 +131,7 @@ def insertUpdateSample(tr, parameters, tableBuilder):
 	
 	#Optional parameters
 	sampleParents = parameters.get("sampleParents"); #List<String> Identifiers are in SPACE/CODE format
+	sampleChildrenNew = parameters.get("sampleChildrenNew"); #List<java.util.LinkedHashMap<String, String>>
 	sampleChildren = parameters.get("sampleChildren"); #List<String> Identifiers are in SPACE/CODE format
 	sampleChildrenRemoved = parameters.get("sampleChildrenRemoved"); #List<String> Identifiers are in SPACE/CODE format
 	
@@ -190,19 +191,26 @@ def insertUpdateSample(tr, parameters, tableBuilder):
 	if sampleParents != None:
 		sample.setParentSampleIdentifiers(sampleParents);
 	
+	#Create new sample children
+	for newSampleChild in sampleChildrenNew:
+		child = tr.createNewSample(newSampleChild["identifier"], newSampleChild["sampleTypeCode"]); #Create Sample given his id
+		child.setParentSampleIdentifiers([sampleIdentifier]);
+		
 	#Add sample children
 	for sampleChildIdentifier in sampleChildren:
 		child = tr.getSampleForUpdate(sampleChildIdentifier); #Retrieve Sample
-		childParents = child.getParentSampleIdentifiers();
-		childParents.add(sampleIdentifier);
-		child.setParentSampleIdentifiers(childParents);
-	
+		if child != None: #The new created ones will not be found
+			childParents = child.getParentSampleIdentifiers();
+			childParents.add(sampleIdentifier);
+			child.setParentSampleIdentifiers(childParents);
+
 	#Remove sample children
 	for sampleChildIdentifier in sampleChildrenRemoved:
 		child = tr.getSampleForUpdate(sampleChildIdentifier); #Retrieve Sample
-		childParents = child.getParentSampleIdentifiers();
-		childParents.remove(sampleIdentifier);
-		child.setParentSampleIdentifiers(childParents);
-		
+		if child != None: #The new created ones will not be found
+			childParents = child.getParentSampleIdentifiers();
+			childParents.remove(sampleIdentifier);
+			child.setParentSampleIdentifiers(childParents);
+
 	#Return from the call
 	return True;
\ No newline at end of file