diff --git a/acceptance/openstack/blockstorage/v1/snapshots_test.go b/acceptance/openstack/blockstorage/v1/snapshots_test.go
index 1224aa9..5038c8e 100644
--- a/acceptance/openstack/blockstorage/v1/snapshots_test.go
+++ b/acceptance/openstack/blockstorage/v1/snapshots_test.go
@@ -3,16 +3,32 @@
 package v1
 
 import (
+	"errors"
 	"strconv"
 	"testing"
-	//"time"
+	"time"
 
+	"github.com/rackspace/gophercloud"
 	"github.com/rackspace/gophercloud/openstack/blockstorage/v1/snapshots"
 	"github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes"
 )
 
-func waitForVolume(id string) {
+func waitForVolume(client *gophercloud.ServiceClient, id string) error {
+	notReady := true
+	secondsSlept := 0
+	for notReady && secondsSlept < 20 {
+		gv, err := volumes.Get(client, id).ExtractVolume()
+		if err != nil {
+			return err
+		}
+		if gv.Status == "available" {
+			return nil
+		}
+		time.Sleep(1 * time.Millisecond)
+		secondsSlept = secondsSlept + 1
+	}
 
+	return errors.New("Time out waiting for volume to become available")
 }
 
 var numSnapshots = 1
@@ -31,7 +47,10 @@
 		t.Fatalf("Failed to create volume: %v", err)
 	}
 
-	waitForVolume(cv.ID)
+	err = waitForVolume(client, cv.ID)
+	if err != nil {
+		t.Fatal(err)
+	}
 
 	var sss []*snapshots.Snapshot
 	for i := 0; i < numSnapshots; i++ {
