optionpool: use context_for_bsterror
diff --git a/buildstream/_options/optionpool.py b/buildstream/_options/optionpool.py
index 3132af5..716be77 100644
--- a/buildstream/_options/optionpool.py
+++ b/buildstream/_options/optionpool.py
@@ -22,7 +22,7 @@
 import jinja2
 
 from .. import _yaml
-from .._exceptions import LoadError, LoadErrorReason
+from .._exceptions import LoadError, LoadErrorReason, context_for_bsterror
 from .optionbool import OptionBool
 from .optionenum import OptionEnum
 from .optionflags import OptionFlags
@@ -277,11 +277,8 @@
                                     "{}: Conditional statement has more than one key".format(p))
 
                 expression, value = tuples[0]
-                try:
+                with context_for_bsterror(p):
                     apply_fragment = self._evaluate(expression)
-                except LoadError as e:
-                    # Prepend the provenance of the error
-                    raise LoadError(e.reason, "{}: {}".format(p, e)) from e
 
                 if not hasattr(value, 'get'):
                     raise LoadError(LoadErrorReason.ILLEGAL_COMPOSITE,