Error in file_save()
The $form_state array variable contains all the information about the current state of the form. print_r($form_state) to find out the array key corresponding to the upload element in the form. If there is no new upload, this array key should have an empty value, or maybe the array key won't exist at all. If for example $form_state['upload_element'] is populated, then you can call file_save($file);.