diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 213a39f..05f9c82 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -691,6 +691,7 @@
                 fCurrIndex = findByTitle(*argv);
                 if (fCurrIndex < 0) {
                     fprintf(stderr, "Unknown sample \"%s\"\n", *argv);
+                    listTitles();
                 }
             }
         } else if (strcmp(*argv, "--msaa") == 0) {
@@ -698,6 +699,8 @@
             if (argv < stop && **argv) {
                 fMSAASampleCount = atoi(*argv);
             }
+        } else if (strcmp(*argv, "--list") == 0) {
+            listTitles();
         }
         else {
             usage(commandName);
@@ -873,6 +876,14 @@
     return -1;
 }
 
+void SampleWindow::listTitles() {
+    int count = fSamples.count();
+    SkDebugf("All Slides:\n");
+    for (int i = 0; i < count; i++) {
+        SkDebugf("    %s\n", getSampleTitle(i).c_str());
+    }
+}
+
 static SkBitmap capture_bitmap(SkCanvas* canvas) {
     SkBitmap bm;
     const SkBitmap& src = canvas->getDevice()->accessBitmap(false);
diff --git a/samplecode/SampleApp.h b/samplecode/SampleApp.h
index eb49236..e587e1f 100644
--- a/samplecode/SampleApp.h
+++ b/samplecode/SampleApp.h
@@ -198,6 +198,7 @@
     void postAnimatingEvent();
     void installDrawFilter(SkCanvas*);
     int findByTitle(const char*);
+    void listTitles();
 
     typedef SkOSWindow INHERITED;
 };
