diff --git a/pipi/codec.c b/pipi/codec.c
index a2e8f03..26ae428 100644
--- a/pipi/codec.c
+++ b/pipi/codec.c
@@ -28,8 +28,9 @@
 
 pipi_image_t *pipi_load(char const *name)
 {
-    if(!strncmp(name, "pipi:", 5))
-        return pipi_load_stock(name + 5);
+    if(!strncmp(name, "random:", 7) ||
+       !strncmp(name, "bayer:", 6))
+        return pipi_load_stock(name);
 
 #if USE_IMLIB2
     return pipi_load_imlib2(name);
diff --git a/pipi/stock.c b/pipi/stock.c
index a25ebe2..697bf41 100644
--- a/pipi/stock.c
+++ b/pipi/stock.c
@@ -33,12 +33,12 @@ pipi_image_t *pipi_load_stock(char const *name)
     float *data;
 
     /* Generate a Bayer dithering pattern. */
-    if(!strncmp(name, "bayer", 5))
+    if(!strncmp(name, "bayer:", 6))
     {
         int i, j, w, h, n;
 
-        w = atoi(name + 5);
-        name = strchr(name + 5, 'x');
+        w = atoi(name + 6);
+        name = strchr(name + 6, 'x');
         if(!name)
             return NULL;
         h = atoi(name + 1);
@@ -74,13 +74,13 @@ pipi_image_t *pipi_load_stock(char const *name)
     }
 
     /* Generate a completely random image. */
-    if(!strncmp(name, "random", 6))
+    if(!strncmp(name, "random:", 7))
     {
         unsigned int ctx = 1;
         int x, y, t, w, h;
 
-        w = atoi(name + 6);
-        name = strchr(name + 6, 'x');
+        w = atoi(name + 7);
+        name = strchr(name + 7, 'x');
         if(!name)
             return NULL;
         h = atoi(name + 1);