diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,10 @@
+## 0.3.1
+
+### Bug Fixes
+
+* `report` and `graph` generation now works even when number of
+  samples is less than 3
+
 ## 0.3.0
 
 ### Breaking Changes
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,9 @@
 # bench-show
 
+[![Hackage](https://img.shields.io/hackage/v/bench-show.svg?style=flat)](https://hackage.haskell.org/package/bench-show)
+[![Build Status](https://travis-ci.com/composewell/bench-show.svg?branch=master)](https://travis-ci.org/composewell/bench-show)
+[![Windows Build status](https://ci.appveyor.com/api/projects/status/5u19xvm7sn7salrh?svg=true)](https://ci.appveyor.com/project/harendra-kumar/bench-show)
+
 Generate text reports and graphical charts from the benchmark results generated
 by `gauge` or `criterion` and stored in a CSV file. This tool is especially
 useful when you have many benchmarks or if you want to compare benchmarks
diff --git a/bench-show.cabal b/bench-show.cabal
--- a/bench-show.cabal
+++ b/bench-show.cabal
@@ -1,5 +1,5 @@
 name:               bench-show
-version:            0.3.0
+version:            0.3.1
 license:            BSD3
 author:             Harendra Kumar
 maintainer:         harendra.kumar@gmail.com
@@ -149,7 +149,7 @@
         , statistics           >= 0.15    && < 0.16
         , vector               >= 0.10    && < 0.13
         , semigroups           >= 0.18    && < 0.20
-        , optparse-applicative >= 0.14.2  && < 0.14.4
+        , optparse-applicative >= 0.14.2  && < 0.16
         , optparse-simple      >= 0.1.0   && < 0.2
         , bench-show
 
diff --git a/lib/BenchShow/Analysis.hs b/lib/BenchShow/Analysis.hs
--- a/lib/BenchShow/Analysis.hs
+++ b/lib/BenchShow/Analysis.hs
@@ -307,7 +307,7 @@
             return (replicate n Nothing, replicate n Nothing)
 
     (means, devs) <-
-        if useBootstrap
+        if useBootstrap && length samples >= 3
         then do
             (ms, ds) <- fmap unzip $ estimateMeanAndStdDev randGen vectors
             return (map estPoint ms, map estPoint ds)
