diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
index 03bc18ceb5..8fb869c0a8 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -1,7 +1,7 @@
 /*
  * storage_backend.c: internal storage driver backend contract
  *
- * Copyright (C) 2007-2014 Red Hat, Inc.
+ * Copyright (C) 2007-2016 Red Hat, Inc.
  * Copyright (C) 2007-2008 Daniel P. Berrange
  *
  * This library is free software; you can redistribute it and/or
@@ -2053,6 +2053,7 @@ virStorageBackendVolWipeLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
                               unsigned int flags)
 {
     int ret = -1, fd = -1;
+    const char *alg_char = NULL;
     struct stat st;
     virCommandPtr cmd = NULL;
 
@@ -2076,38 +2077,42 @@ virStorageBackendVolWipeLocal(virConnectPtr conn ATTRIBUTE_UNUSED,
         goto cleanup;
     }
 
+    switch ((virStorageVolWipeAlgorithm) algorithm) {
+    case VIR_STORAGE_VOL_WIPE_ALG_ZERO:
+        alg_char = "zero";
+        break;
+    case VIR_STORAGE_VOL_WIPE_ALG_NNSA:
+        alg_char = "nnsa";
+        break;
+    case VIR_STORAGE_VOL_WIPE_ALG_DOD:
+        alg_char = "dod";
+        break;
+    case VIR_STORAGE_VOL_WIPE_ALG_BSI:
+        alg_char = "bsi";
+        break;
+    case VIR_STORAGE_VOL_WIPE_ALG_GUTMANN:
+        alg_char = "gutmann";
+        break;
+    case VIR_STORAGE_VOL_WIPE_ALG_SCHNEIER:
+        alg_char = "schneier";
+        break;
+    case VIR_STORAGE_VOL_WIPE_ALG_PFITZNER7:
+        alg_char = "pfitzner7";
+        break;
+    case VIR_STORAGE_VOL_WIPE_ALG_PFITZNER33:
+        alg_char = "pfitzner33";
+        break;
+    case VIR_STORAGE_VOL_WIPE_ALG_RANDOM:
+        alg_char = "random";
+        break;
+    case VIR_STORAGE_VOL_WIPE_ALG_LAST:
+        virReportError(VIR_ERR_INVALID_ARG,
+                       _("unsupported algorithm %d"),
+                       algorithm);
+        goto cleanup;
+    }
+
     if (algorithm != VIR_STORAGE_VOL_WIPE_ALG_ZERO) {
-        const char *alg_char ATTRIBUTE_UNUSED = NULL;
-        switch (algorithm) {
-        case VIR_STORAGE_VOL_WIPE_ALG_NNSA:
-            alg_char = "nnsa";
-            break;
-        case VIR_STORAGE_VOL_WIPE_ALG_DOD:
-            alg_char = "dod";
-            break;
-        case VIR_STORAGE_VOL_WIPE_ALG_BSI:
-            alg_char = "bsi";
-            break;
-        case VIR_STORAGE_VOL_WIPE_ALG_GUTMANN:
-            alg_char = "gutmann";
-            break;
-        case VIR_STORAGE_VOL_WIPE_ALG_SCHNEIER:
-            alg_char = "schneier";
-            break;
-        case VIR_STORAGE_VOL_WIPE_ALG_PFITZNER7:
-            alg_char = "pfitzner7";
-            break;
-        case VIR_STORAGE_VOL_WIPE_ALG_PFITZNER33:
-            alg_char = "pfitzner33";
-            break;
-        case VIR_STORAGE_VOL_WIPE_ALG_RANDOM:
-            alg_char = "random";
-            break;
-        default:
-            virReportError(VIR_ERR_INVALID_ARG,
-                           _("unsupported algorithm %d"),
-                           algorithm);
-        }
         cmd = virCommandNew(SCRUB);
         virCommandAddArgList(cmd, "-f", "-p", alg_char,
                              vol->target.path, NULL);