subs(expr,sol)
If sol is a struct output of solve() with returnparameters but there were no auxiliary variables introduced then the parameters field of the struct will exist but be empty.
If you subs() a struct in the second parameter and any field of the struct is empty, then the result is empty.
It would be better if subs() knew to ignore empty parameters field but it doesn't, so you might need to rmfield before the subs()