diff --git a/gas/ChangeLog b/gas/ChangeLog
index 330b37f6c04..21c82999659 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,9 @@
 2007-01-11  Nick Clifton  <nickc@redhat.com>
 
+	PR gas/3707
+	* config/tc-arm.c (md_begin): Cope with an NULL mcpu_fpu_opt
+	variable.
+
 	* config/tc-mcore.c (md_number_to_chars): Use
 	number_to_chars_{big|little}endian.
 
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 45b8d2e85df..6a2756decd7 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -19291,9 +19291,9 @@ md_begin (void)
 
   if (!mfpu_opt)
     {
-      if (!mcpu_cpu_opt)
+      if (mcpu_cpu_opt != NULL)
 	mfpu_opt = &fpu_default;
-      else if (ARM_CPU_HAS_FEATURE (*mcpu_fpu_opt, arm_ext_v5))
+      else if (mcpu_fpu_opt != NULL && ARM_CPU_HAS_FEATURE (*mcpu_fpu_opt, arm_ext_v5))
 	mfpu_opt = &fpu_arch_vfp_v2;
       else
 	mfpu_opt = &fpu_arch_fpa;