diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7dd49a719c7e9f1e79515a268eb30c93a06c3ef3..34253d3c9612eaff630f181e7eafb5220c6e688f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-04  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.c (bfin_function_ok_for_sibcall): Restore a null
+	pointer check lost in the recent no-unit-at-a-time patch.
+	
 2008-09-04  Jan Hubicka  <jh@suse.cz>
 
 	PR middle-end/37343
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index 86195eddaf060fa0a17da3f26db0df626b98f34c..90a67888b97892c1a8f6303d8bd734a8e6da64e9 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -1942,6 +1942,9 @@ bfin_function_ok_for_sibcall (tree decl ATTRIBUTE_UNUSED,
      not need to reload P5 in the prologue, but the sibcall wil pop P5 in the
      sibcall epilogue, and we end up with the wrong value in P5.  */
 
+  if (!decl)
+    /* Not enough information.  */
+    return false;
  
   this_func = cgraph_local_info (current_function_decl);
   called_func = cgraph_local_info (decl);