diff --git a/lib/has_markup.rb b/lib/has_markup.rb
index <HASH>..<HASH> 100644
--- a/lib/has_markup.rb
+++ b/lib/has_markup.rb
@@ -57,9 +57,12 @@ module HasMarkup
       # Sprinkles the magic needed to support markdown. In particular, it will validate the markdown syntax
       # on the column, and define a method <tt>column_html</tt> which uses BlueCloth to generate HTML.
       def sprinkle_markdown_magic(column)
+        require 'bluecloth'
+        
         validates_markdown_syntax column
         define_method "#{column}_html" do
-          BlueCloth.new(self.send(column)).to_html
+          markup = self.send(column)
+          BlueCloth.new(markup).to_html unless markup.blank?
         end
       end
       
diff --git a/test/post_test.rb b/test/post_test.rb
index <HASH>..<HASH> 100644
--- a/test/post_test.rb
+++ b/test/post_test.rb
@@ -2,4 +2,15 @@ require File.dirname(__FILE__) + '/test_helper'
 
 class PostTest < Test::Unit::TestCase
   should_have_markup :content, :required => true, :syntax => :markdown, :cache_html => true
+  
+  context 'A new project without content' do
+    setup do
+      @post = Post.new
+    end
+    
+    should 'not flail when doing cache_content' do
+      @post.cache_content_html
+      assert_nil @post.cached_content_html
+    end
+  end
 end
\ No newline at end of file
Fixed caching when markup is blank.