diff --git a/drmcompositor.cpp b/drmcompositor.cpp
index 3bab93f..082e75d 100644
--- a/drmcompositor.cpp
+++ b/drmcompositor.cpp
@@ -47,7 +47,7 @@
   return 0;
 }
 
-Composition *DrmCompositor::CreateComposition(Importer *importer) {
+DrmComposition *DrmCompositor::CreateComposition(Importer *importer) {
   DrmComposition *composition = new DrmComposition(drm_, importer);
   if (!composition) {
     ALOGE("Failed to allocate drm composition");
@@ -62,10 +62,8 @@
   return composition;
 }
 
-int DrmCompositor::QueueComposition(Composition *composition) {
-  DrmComposition *drm_composition = (DrmComposition *)composition;
-
-  int ret = drm_composition->DisableUnusedPlanes();
+int DrmCompositor::QueueComposition(DrmComposition *composition) {
+  int ret = composition->DisableUnusedPlanes();
   if (ret) {
     ALOGE("Failed to disable unused planes %d", ret);
     return ret;
@@ -75,7 +73,7 @@
        iter != drm_->end_connectors(); ++iter) {
     int display = (*iter)->display();
     int ret = compositor_map_[display].QueueComposition(
-        drm_composition->TakeDisplayComposition(display));
+        composition->TakeDisplayComposition(display));
     if (ret) {
       ALOGE("Failed to queue composition for display %d", display);
       delete composition;
