Problem faced with fmincon solver



In my formulation there are two levels:

At first level fmincon is used, which calls a function "ObjFun" to
calculate objective funtion value for a set of decision variable (U)
in each iteration & "NlConst" to calculate contraints. Inside
"NlConst" (2nd level) another optimizer "Linprog" is called for which
lower and upper bounds of its own decision variables are chosen
dynamically. For example

Lets say Lower and upper bound of decision variables for fmincon at
first level are 0 & 10 respectively
now at nth iteration of fmincon,suppose decision variable is = 5
then in Linprog called from Nlconst LowerBound = Some constant-5 and
Upper Bound = some conatant + 5 and so on.

In most of the cases it works fine. But when the problem is
infeasible fmincon choses U < 0 before coming out with status -1.
Hence the Lower bound in Linporg becomes = Some constant- (-ve value)
and upper bound becomes = Some constant+ (-ve value) hence making
LowerBound > UpperBound.

How can I avoid it? I do not know before hand that a problem is
infeasible. Is there any other nonlinear solver in matlab which does
not assume values of decision variables outside bound even when
problem is infeasible. My company has 6.5 version of MATLAB
.