si, il problema è nell'if ed in particolare le prime due condizioni.