You can take an idea about your NLS_DATE_FORMAT by this statement:

*******************************************************************
select value
from nls_session_parameters
where parameter = 'NLS_DATE_FORMAT';
*******************************************************************

And if you want to change it you can use this statement:

*****************************************************************
ALTER SESSION SET NLS_DATE_FORMAT = [THE NEW NLS_DATE_FORMAT]

For Example:
ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'
*****************************************************************

Anyhow, I don't think that you're sure when execute TO_CHAR('DD-MM-YYYY', sysdate) you get the result in wrong way...