I think you are checking the wrong variable:rclz>
orclz> conn scott/tiger
Connected.
orclz> select sys_context('userenv','current_schema') from dual;
SYS_CONTEXT('USERENV','CURRENT_SCHEMA')
--------------------------------------------------------------------------------------------------------------
SCOTT
orclz> alter session set current_schema=system;
Session altered.
orclz> select sys_context('userenv','current_schema') from dual;
SYS_CONTEXT('USERENV','CURRENT_SCHEMA')
--------------------------------------------------------------------------------------------------------------
SYSTEM
orclz> select sys_context('userenv','current_user') from dual;
SYS_CONTEXT('USERENV','CURRENT_USER')
--------------------------------------------------------------------------------------------------------------
SCOTT
orclz>