diff --git a/src/main/org/apache/tools/ant/types/optional/ScriptCondition.java b/src/main/org/apache/tools/ant/types/optional/ScriptCondition.java
index a67588f50..d3fbe9ea1 100644
--- a/src/main/org/apache/tools/ant/types/optional/ScriptCondition.java
+++ b/src/main/org/apache/tools/ant/types/optional/ScriptCondition.java
@@ -44,8 +44,8 @@ public class ScriptCondition extends AbstractScriptComponent implements Conditio
@Override
public boolean eval() throws BuildException {
initScriptRunner();
- executeScript("ant_condition");
- return getValue();
+ final Object result = getRunner().evaluateScript("ant_condition");
+ return Boolean.TRUE.equals(result) || getValue();
}
/**
diff --git a/src/tests/antunit/types/optional/scriptcondition-test.xml b/src/tests/antunit/types/optional/scriptcondition-test.xml
index 3fb4f6085..16d4af118 100644
--- a/src/tests/antunit/types/optional/scriptcondition-test.xml
+++ b/src/tests/antunit/types/optional/scriptcondition-test.xml
@@ -68,4 +68,20 @@
+
+
+
+ true
+
+
+
+
+
+
+
+ false
+
+
+
+