fh_unref (default_handle);
   default_handle = new_default_handle;
   if (default_handle != NULL)
-    fh_ref (default_handle);
+    default_handle = fh_ref (default_handle);
 }
 \f
 /* Information about a file handle's readers or writers. */
 
 #ifndef FILE_HANDLE_DEF_H
 #define FILE_HANDLE_DEF_H
 
+#include "libpspp/compiler.h"
 #include <stdbool.h>
 #include <stddef.h>
 
 const struct fh_properties *fh_default_properties (void);
 
 /* Reference management. */
-struct file_handle *fh_ref (struct file_handle *);
+struct file_handle *fh_ref (struct file_handle *) WARN_UNUSED_RESULT;
 void fh_unref (struct file_handle *);
 void fh_unname (struct file_handle *);