Session Bean se pierde?

La primera solicitud "no retroactiva" para viewBean, la propiedad someValue en sessionBean es nula. Ahora, en una solicitud de devolución de datos, estoy configurando una entrada de usuario a someValue. El problema es que someValue siempre es nulo en cualquier solicitud "sin devolución". Aquí está mi código:

@ManagedBean
@ViewScoped
public class ViewBean implements Serializable {

    @ManagedProperty(value = "#{sessionBean}")
    private SessionBean sessionBean;

    private String inputText;

    @PostConstruct
    public void init() {
        if (sessionBean.getSomeValue() != null) // ALWAYS NULL
            doSomething(sessionBean.getSomeValue());
    }

    private void doSomething(String s) {}

    public void action(final ActionEvent ae) {
        sessionBean.setSomeValue(getInputText());
        doSomething(getInputText());
    }

    GETTERS/SETTERS
}

@ManagedBean
@SessionScoped
public class SessionBean implements Serializable {

    private String someValue;

    GETTER/SETTER
}

Siento que estoy haciendo algo mal. Estoy usando Mojarra 2.1.2 Cualquier consejo es apreciado. Gracias

UPDATE: el uso de EvaluationExpressionGet en ambos métodos (init y action) funciona bien:

FacesContext context = FacesContext.getCurrentInstance();
SessionBean sessionBean = context.getApplication().evaluateExpressionGet(context,
    "#{sessionBean}", SessionBean.class);

Respuestas a la pregunta(2)

Su respuesta a la pregunta