diff --git a/api/cm_current.txt b/api/cm_current.txt
index 40d6fa5..5c1d080 100644
--- a/api/cm_current.txt
+++ b/api/cm_current.txt
@@ -1366,8 +1366,7 @@
     method public abstract void onLookupCityRequestCompleted(int, java.util.List<cyanogenmod.weather.WeatherLocation>);
   }
 
-  public static class CMWeatherManager.RequestStatus {
-    ctor public CMWeatherManager.RequestStatus();
+  public static final class CMWeatherManager.RequestStatus {
     field public static final int ALREADY_IN_PROGRESS = -3; // 0xfffffffd
     field public static final int COMPLETED = 1; // 0x1
     field public static final int FAILED = -1; // 0xffffffff
diff --git a/sdk/src/java/cyanogenmod/weather/CMWeatherManager.java b/sdk/src/java/cyanogenmod/weather/CMWeatherManager.java
index 8292b58..89b1740 100644
--- a/sdk/src/java/cyanogenmod/weather/CMWeatherManager.java
+++ b/sdk/src/java/cyanogenmod/weather/CMWeatherManager.java
@@ -57,13 +57,16 @@
     /**
      * The different request statuses
      */
-    public static class RequestStatus {
+    public static final class RequestStatus {
+
+        private RequestStatus() {}
+
         /**
-         * Request Successfully completed
+         * Request successfully completed
          */
         public static final int COMPLETED = 1;
         /**
-         * An error occurred while trying to honor the request.
+         * An error occurred while trying to honor the request
          */
         public static final int FAILED = -1;
         /**
@@ -71,7 +74,7 @@
          */
         public static final int SUBMITTED_TOO_SOON = -2;
         /**
-         * Another request in already in progress
+         * Another request is already in progress
          */
         public static final int ALREADY_IN_PROGRESS = -3;
         /**
diff --git a/system-api/cm_system-current.txt b/system-api/cm_system-current.txt
index 40d6fa5..5c1d080 100644
--- a/system-api/cm_system-current.txt
+++ b/system-api/cm_system-current.txt
@@ -1366,8 +1366,7 @@
     method public abstract void onLookupCityRequestCompleted(int, java.util.List<cyanogenmod.weather.WeatherLocation>);
   }
 
-  public static class CMWeatherManager.RequestStatus {
-    ctor public CMWeatherManager.RequestStatus();
+  public static final class CMWeatherManager.RequestStatus {
     field public static final int ALREADY_IN_PROGRESS = -3; // 0xfffffffd
     field public static final int COMPLETED = 1; // 0x1
     field public static final int FAILED = -1; // 0xffffffff
