diff --git a/CHANGELOG b/CHANGELOG
index ee0b9da..2fe7054 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,9 @@
 1.5.9 (Pending)
+* Fixed:  Prior to `1.5.8`, generating IntelliJ IDEA modules could generate a failure if the project included
+          a dependency defined by a `JarTask` that specified a non-nil classifier. This failure scenario is now
+          much more frequent given the changes to support external annotations that are packaged as jars. This
+          crash is now avoided by changing guard from `artifact.respond_to?(:to_spec_hash)` to
+          `artifact.is_a?(Buildr::Artifact)`.
 
 1.5.8 (2019-07-14)
 * Fixed:  Changed references to `https://repo1.maven.org/maven2` to use https where possible.
diff --git a/lib/buildr/ide/idea.rb b/lib/buildr/ide/idea.rb
index e1038ba..6aac75f 100644
--- a/lib/buildr/ide/idea.rb
+++ b/lib/buildr/ide/idea.rb
@@ -483,12 +483,12 @@
           export = true
           source_path = nil
           annotations_path = nil
-          if d.respond_to?(:to_spec_hash)
+          if d.is_a?(Buildr::Artifact)
             source_spec = d.to_spec_hash.merge(:classifier => 'sources')
             source_path = Buildr.artifact(source_spec).to_s
             source_path = nil unless File.exist?(source_path)
           end
-          if d.respond_to?(:to_spec_hash)
+          if d.is_a?(Buildr::Artifact)
             annotations_spec = d.to_spec_hash.merge(:classifier => 'annotations')
             annotations_path = Buildr.artifact(annotations_spec).to_s
             annotations_path = nil unless File.exist?(annotations_path)
@@ -505,12 +505,12 @@
           export = main_dependencies_paths.include?(dependency_path)
           source_path = nil
           annotations_path = nil
-          if d.respond_to?(:to_spec_hash)
+          if d.is_a?(Buildr::Artifact)
             source_spec = d.to_spec_hash.merge(:classifier => 'sources')
             source_path = Buildr.artifact(source_spec).to_s
             source_path = nil unless File.exist?(source_path)
           end
-          if d.respond_to?(:to_spec_hash)
+          if d.is_a?(Buildr::Artifact)
             annotations_spec = d.to_spec_hash.merge(:classifier => 'annotations')
             annotations_path = Buildr.artifact(annotations_spec).to_s
             annotations_path = nil unless File.exist?(annotations_path)
