diff --git a/download_action.h b/download_action.h
index 6f16e20..3cf7e6a 100644
--- a/download_action.h
+++ b/download_action.h
@@ -53,9 +53,9 @@
   DownloadAction(PrefsInterface* prefs,
                  SystemState* system_state,
                  HttpFetcher* http_fetcher);
-  virtual ~DownloadAction();
-  void PerformAction();
-  void TerminateProcessing();
+  ~DownloadAction() override;
+  void PerformAction() override;
+  void TerminateProcessing() override;
 
   // Testing
   void SetTestFileWriter(FileWriter* writer) {
@@ -66,14 +66,14 @@
 
   // Debugging/logging
   static std::string StaticType() { return "DownloadAction"; }
-  std::string Type() const { return StaticType(); }
+  std::string Type() const override { return StaticType(); }
 
   // HttpFetcherDelegate methods (see http_fetcher.h)
-  virtual void ReceivedBytes(HttpFetcher *fetcher,
-                             const char* bytes, int length);
-  virtual void SeekToOffset(off_t offset);
-  virtual void TransferComplete(HttpFetcher *fetcher, bool successful);
-  virtual void TransferTerminated(HttpFetcher *fetcher);
+  void ReceivedBytes(HttpFetcher *fetcher,
+                     const char* bytes, int length) override;
+  void SeekToOffset(off_t offset) override;
+  void TransferComplete(HttpFetcher *fetcher, bool successful) override;
+  void TransferTerminated(HttpFetcher *fetcher) override;
 
   DownloadActionDelegate* delegate() const { return delegate_; }
   void set_delegate(DownloadActionDelegate* delegate) {
