diff --git a/ChangeLog b/ChangeLog
index 143caf5e8c790adaf9df803e04f6d3dd41bb3c20..0962556bcbc3df2cf30368b0354b7614e489ad21 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,7 @@
 2010-10-19  Susanne Moog  <typo3@susanne-moog.de>
 
 	* Fixed bug #15095: Bug: The Web>Versioning view has style issues resulting in "wrong layers"
+	* Fixed bug #13294: IRRE deleted combo records are still validated by TBE_EDITOR (Thanks to Marcel Greter)
 
 2010-10-18  Steffen Kamper  <steffen@typo3.org>
 
diff --git a/t3lib/jsfunc.inline.js b/t3lib/jsfunc.inline.js
index cfdb8635e2fb7a2a30fb0408271dd4377135d04c..6c6db631c91430967b62376a27c5668336ea3f7a 100644
--- a/t3lib/jsfunc.inline.js
+++ b/t3lib/jsfunc.inline.js
@@ -61,8 +61,8 @@ var inline = {
 				$(objectId + '_iconcontainer').addClassName('loading-indicator');
 			}
 			return this.getRecordDetails(objectId, returnURL);
-		}		
-		
+		}
+
 		var currentState = '';
 		var collapse = new Array();
 		var expand = new Array();
@@ -118,7 +118,7 @@ var inline = {
 			ucFormObj[0].value = value;
 		}
 	},
-	
+
 	getRecordDetails: function(objectId, returnURL) {
 		inline.makeAjaxCall('getRecordDetails', [inline.getNumberOfRTE(), objectId, returnURL], true);
 		return false;
@@ -717,6 +717,12 @@ var inline = {
 			TBE_EDITOR.removeElementArray(removeStack);
 		}
 
+			// Mark this container as deleted
+		var deletedRecordContainer = $(objectId + '_div');
+		if (deletedRecordContainer) {
+			deletedRecordContainer.addClassName('inlineIsDeletedRecord');
+		}
+
 			// If the record is new and was never saved before, just remove it from DOM:
 		if (this.isNewRecord(objectId) || options && options.forceDirectRemoval) {
 			this.fadeAndRemove(objectId+'_div');
@@ -933,7 +939,7 @@ var inline = {
 
 	setVisibilityOfElementsWithClassName: function(action, selector, parentElement) {
 		var domObjects = Selector.findChildElements($(parentElement), [selector]);
-		if (action == 'hide') { 
+		if (action == 'hide') {
 			$A(domObjects).each(function(domObject) { new Effect.Fade(domObject); });
 		} else if (action == 'show') {
 			$A(domObjects).each(function(domObject) { new Effect.Appear(domObject); });
diff --git a/typo3/jsfunc.tbe_editor.js b/typo3/jsfunc.tbe_editor.js
index 8dc8db78fe7a87c65ae5af7fd451dc80271d7529..f8b1f42fa28d5f1d3b9176a00c46b94c4108fd3f 100644
--- a/typo3/jsfunc.tbe_editor.js
+++ b/typo3/jsfunc.tbe_editor.js
@@ -73,7 +73,7 @@ var TBE_EDITOR = {
 		cm: new Image(),
 		sel: new Image(),
 		clear: new Image()
-	},	
+	},
 
 	// Handling of data structures:
 	addElements: function(elements) {
@@ -195,6 +195,14 @@ var TBE_EDITOR = {
 		if (type) {
 			if (type == 'required') {
 				form = document[TBE_EDITOR.formname][elementName];
+					// Check if we are within a deleted inline element
+				var testNode = $(form.parentNode);
+				while(testNode) {
+					if (testNode.hasClassName && testNode.hasClassName('inlineIsDeletedRecord')) {
+						return result;
+					}
+					testNode = $(testNode.parentNode);
+				}
 				if (form) {
 					var value = form.value;
 					if (!value || elementData.additional && elementData.additional.isPositiveNumber && (isNaN(value) || Number(value) <= 0)) {
@@ -220,7 +228,7 @@ var TBE_EDITOR = {
 						// special treatment for file uploads
 					var tempObj = document[TBE_EDITOR.formname][elementName.replace(/^data/, 'data_files')];
 					numberOfElements = form.length;
-					
+
 					if (tempObj && tempObj.type == 'file' && tempObj.value) {
 						numberOfElements++; // Add new uploaded file to the number of elements
 					}
@@ -475,7 +483,7 @@ var TBE_EDITOR = {
 	},
 	submitForm: function() {
 		if (TBE_EDITOR.doSaveFieldName) {
-			document[TBE_EDITOR.formname][TBE_EDITOR.doSaveFieldName].value=1;			
+			document[TBE_EDITOR.formname][TBE_EDITOR.doSaveFieldName].value=1;
 		}
 		document[TBE_EDITOR.formname].submit();
 	},
@@ -550,13 +558,13 @@ var TBE_EDITOR = {
 	},
 	toggle_display_states: function(id, state_1, state_2) {
 		var node = document.getElementById(id);
-		if (node) {	
+		if (node) {
 			switch (node.style.display) {
 				case state_1:
 					node.style.display = state_2;
 					break;
 				case state_2:
-					node.style.display = state_1; 
+					node.style.display = state_1;
 					break;
 			}
 		}